diff options
Diffstat (limited to 'files/fr/web/svg/element/mask/index.md')
-rw-r--r-- | files/fr/web/svg/element/mask/index.md | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/files/fr/web/svg/element/mask/index.md b/files/fr/web/svg/element/mask/index.md new file mode 100644 index 0000000000..20f0088b0d --- /dev/null +++ b/files/fr/web/svg/element/mask/index.md @@ -0,0 +1,112 @@ +--- +title: <mask> +slug: Web/SVG/Element/mask +tags: + - Element + - Masque + - NeedsCompatTable + - SVG + - SVG Container +translation_of: Web/SVG/Element/mask +--- +<div>{{SVGRef}}</div> + +<p>L'élément <strong><code><mask></code></strong> définit un masque alpha. Ce masque peut par la suite être appliqué sur une forme en utilisant la propriété {{SVGAttr("mask")}}.</p> + +<p>Le masque permet de rendre des zones de l'élément sur lequel est appliqué (semi-)transparentes. On peut par exemple créer un effet de fondu en utilisant un dégradé, ce que le détourage ({{SVGElement('clipPath')}}) ne permet pas.</p> + +<h2>Exemple</h2> + +<pre class="brush: css hidden">html,body,svg { height:100% }</pre> + +<pre class="brush: html"><svg viewBox="-10 -10 120 120"> + <mask id="myMask"> + <!-- Tous les pixels blancs sont visibles --> + <rect x="0" y="0" width="100" height="100" fill="white" /> + + <!-- Tous les pixels noirs sont invisibles --> + <path d="M10,35 A20,20,0,0,1,50,35 A20,20,0,0,1,90,35 Q90,65,50,95 Q10,65,10,35 Z" fill="black" /> + </mask> + + <polygon points="-10,110 110,110 110,-10" fill="orange" /> + + <!-- Avec ce masque, on "perfore" un trou en forme de coeur à l'intérieur du cercle --> + <circle cx="50" cy="50" r="50" mask="url(#myMask)" /> +</svg></pre> + +<p>{{EmbedLiveSample('exemple', 100, 100)}}</p> + +<h2 id="Attributs">Attributs</h2> + +<dl> + <dt>{{SVGAttr("height")}}</dt> + <dd>Définit la hauteur du masque.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#Length"><strong><length></strong></a> ; Valeur par défaut: <code>120%</code>; <em>Animation</em>: <strong>oui</strong></small></dd> + <dt>{{SVGAttr("maskContentUnits")}}</dt> + <dd>Définit le système de coordonnées pour le contenu du <code><mask></code>.<br> + <small><em>Valeur</em>: <code>userSpaceOnUse</code>|<code>objectBoundingBox</code> ; <em>Valeur par défaut</em>: <code>userSpaceOnUse</code>; <em>Animation</em>: <strong>oui</strong></small></dd> + <dt>{{SVGAttr("maskUnits")}}</dt> + <dd>Définit le système de coordonnées pour les attributs {{SVGAttr("x")}}, {{SVGAttr("y")}}, {{SVGAttr("width")}} et {{SVGAttr("height")}} du <code><mask></code>.<br> + <small><em>Valeur</em>: <code>userSpaceOnUse</code>|<code>objectBoundingBox</code> ; <em>Valeur par défaut</em>: <code>objectBoundingBox</code>; <em>Animation</em>: <strong>oui</strong></small></dd> + <dt>{{SVGAttr("x")}}</dt> + <dd>Définit la coordonnée de l'axe x du coin supérieur gauche du masque.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#Coordinate"><strong><coordinate></strong></a> ; <em>Valeur par défaut</em>: <code>-10%</code>; <em>Animation</em>: <strong>oui</strong></small></dd> + <dt>{{SVGAttr("y")}}</dt> + <dd>Définit la coordonnée de l'axe y du coin supérieur gauche du masque.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#Coordinate"><strong><coordinate></strong></a> ; <em>Valeur par défaut</em>: <code>-10%</code>; <em>Animation</em>: <strong>oui</strong></small></dd> + <dt>{{SVGAttr("width")}}</dt> + <dd>Définit la largeur du masque.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#Length"><strong><length></strong></a> ; Valeur par défaut: <code>120%</code>; <em>Animation</em>: <strong>oui</strong></small></dd> +</dl> + +<h3 id="Attributs_globaux">Attributs globaux</h3> + +<dl> + <dt><a href="/fr/docs/Web/SVG/Attribute/Core">Attributs de base</a></dt> + <dd><small>Notamment: {{SVGAttr('id')}}</small></dd> + <dt><a href="/fr/docs/Web/SVG/Attribute/Styling">Attributs de style</a></dt> + <dd><small>{{SVGAttr('class')}}, {{SVGAttr('style')}}</small></dd> + <dt><a href="/fr/docs/Web/SVG/Attribute/Conditional_Processing">Attributs de traitement conditionnel</a></dt> + <dd><small>Notamment: {{SVGAttr('requiredExtensions')}}, {{SVGAttr('systemLanguage')}}</small></dd> + <dt><a href="/fr/docs/Web/SVG/Attribute/Presentation">Attributs de présentation</a></dt> + <dd><small>Notamment: {{SVGAttr('clip-path')}}, {{SVGAttr('clip-rule')}}, {{SVGAttr('color')}}, {{SVGAttr('display')}}, {{SVGAttr('fill')}}, {{SVGAttr('fill-opacity')}}, {{SVGAttr('fill-rule')}}, {{SVGAttr('filter')}}, {{SVGAttr('mask')}}, {{SVGAttr('opacity')}}, {{SVGAttr('shape-rendering')}}, {{SVGAttr('stroke')}}, {{SVGAttr('stroke-dasharray')}}, {{SVGAttr('stroke-dashoffset')}}, {{SVGAttr('stroke-linecap')}}, {{SVGAttr('stroke-linejoin')}}, {{SVGAttr('stroke-miterlimit')}}, {{SVGAttr('stroke-opacity')}}, {{SVGAttr('stroke-width')}}, {{SVGAttr("transform")}}, {{SVGAttr('vector-effect')}}, {{SVGAttr('visibility')}}</small></dd> +</dl> + +<h2 id="Notes_d'usage">Notes d'usage</h2> + +<p>{{svginfo}}</p> + +<h2 id="Spécifications">Spécifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('CSS Masks', '#MaskElement', '<mask>')}}</td> + <td>{{Spec2('CSS Masks')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('SVG1.1', 'masking.html#Masking', '<mask>')}}</td> + <td>{{Spec2('SVG1.1')}}</td> + <td>Définition initiale</td> + </tr> + </tbody> +</table> + +<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> + +<p>{{Compat("svg.elements.mask")}}</p> + +<h2 id="Voir_aussi">Voir aussi</h2> + +<ul> + <li>Élément de détourage: {{SVGElement("clipPath")}}</li> + <li>Propriétés CSS de masque: {{cssxref("mask")}}, {{cssxref("mask-image")}},{{cssxref("mask-mode")}}, {{cssxref("mask-repeat")}}, {{cssxref("mask-position")}}, {{cssxref("mask-clip")}}, {{cssxref("mask-origin")}}, {{cssxref("mask-composite")}}, {{cssxref("mask-size")}}, {{cssxref("pointer-events")}}</li> +</ul> |