1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
---
title: mask
slug: Web/SVG/Attribute/mask
translation_of: Web/SVG/Attribute/mask
---
{{SVGRef}}
L'attribut `mask` est un attribut de présentation principalement utilisé pour appliquer un trou (défini par un élément {{ SVGElement("mask") }}) sur l'élément qui possède cet attribut.
> **Note :** On peut aussi utiliser l'attribut {{cssxref('mask')}} en CSS.
## Exemple
```css hidden
html,body,svg { height:100% }
```
```html
<svg viewBox="0 0 200 100" xmlns="http://www.w3.org/2000/svg">
<mask id="monMask" maskContentUnits="objectBoundingBox">
<rect fill="white" x="0" y="0" width="100%" height="100%" />
<polygon fill="black" points="0.5,0.2 0.68,0.74 0.21,0.41 0.79,0.41 0.32,0.74" />
</mask>
<!-- Fait un trou de la forme d'une étoile sur le cercle rouge,
ce qui laisse apparaître le cercle jaune situé dessous. -->
<circle cx="50" cy="50" r="20" fill="yellow" />
<circle cx="50" cy="50" r="45" fill="red"
mask="url(#monMask)"/>
</svg>
```
{{EmbedLiveSample('exemple', '100%', 150)}}
Depuis SVG2, l'attribut {{cssxref('mask')}} est défini comme une propriété CSS et comme une propriété raccourcie pour beaucoup d'autres propriétés: {{cssxref('mask-image')}}, {{cssxref('mask-mode')}}, {{cssxref('mask-repeat')}}, {{cssxref('mask-position')}}, {{cssxref('mask-clip')}}, {{cssxref('mask-origin')}}, {{cssxref('mask-size')}} et {{cssxref('mask-composite')}}.
Étant un attribut de présentation, il peut être appliqué sur n'importe quel élément, mais il a un effet visible surtout sur les éléments suivants: {{SVGElement('a')}}, {{SVGElement('circle')}}, {{SVGElement('clipPath')}}, {{SVGElement('ellipse')}}, {{SVGElement('g')}}, {{SVGElement('glyph')}}, {{SVGElement('image')}}, {{SVGElement('line')}}, {{SVGElement('marker')}}, {{SVGElement('mask')}}, {{SVGElement('path')}}, {{SVGElement('pattern')}}, {{SVGElement('polygon')}}, {{SVGElement('polyline')}}, {{SVGElement('rect')}}, {{SVGElement('svg')}}, {{SVGElement('symbol')}}, {{SVGElement('text')}} et {{SVGElement('use')}}.
## Contexte d'utilisation
<table class="standard-table">
<tbody>
<tr>
<th scope="row">Valeur</th>
<td>Voir la propriété CSS {{cssxref('mask')}}</td>
</tr>
<tr>
<th scope="row">Valeur par défaut</th>
<td><code>none</code></td>
</tr>
<tr>
<th scope="row">Animable</th>
<td>Oui</td>
</tr>
</tbody>
</table>
## Compatibilité des navigateurs
{{Compat("svg.attributes.presentation.mask")}}
## Spécifications
<table class="standard-table">
<thead>
<tr>
<th scope="col">Spécification</th>
<th scope="col">Status</th>
<th scope="col">Commentaire</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName("CSS Masks", "#the-mask", 'mask')}}</td>
<td>{{Spec2("CSS Masks")}}</td>
<td>
<p>
Étend cet usage pour les éléments HTML en créant un raccourci pour les
nouvelles propriétés <code>mask-*</code> défini dans cette
spécification.
</p>
</td>
</tr>
<tr>
<td>
{{SpecName('SVG1.1', 'masking.html#MaskProperty', 'mask')}}
</td>
<td>{{Spec2('SVG1.1')}}</td>
<td>Définition initiale</td>
</tr>
</tbody>
</table>
|