aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/css/mask/index.html
blob: 39988a8dc4f2f0f0b822046f3ca3c382ff73b51a (plain)
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
---
title: mask
slug: Web/CSS/mask
tags:
  - CSS
  - Propriété
  - Reference
  - SVG
translation_of: Web/CSS/mask
---
<div>{{CSSRef}}</div>

<p>La propriété <strong><code>mask</code></strong> permet de masquer un élément partiellement ou complètement en utilisant un masque apposé sur l'image ou en rognant l'image aux positions données. Cette propriété est une propriété raccourcie pour les 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 ")}}.</p>

<div class="note">
<p><strong>Note :</strong> La propriété raccourcie réinitialise également {{cssxref("mask-border")}} avec sa valeur initiale. Il est donc recommandé d'utiliser la propriété raccourcie à travers les feuilles de style plutôt que les propriétés raccourcies (sauf en cas d'héritage complexe).</p>
</div>

<h2 id="Syntaxe">Syntaxe</h2>

<pre class="brush:css">/* Valeurs avec un mot-clé */
mask: none;

/* Valeurs d'image */
/* Type &lt;image&gt;    */
mask: url(mask.png);                       /* Image matricielle utilisée comme masque */
mask: url(masks.svg#star);                 /* Élément d'un SVG utilisé comme masque */

/* Valeurs combinées */
mask: url(masks.svg#star) luminance;       /* Élément d'un SVG utilisé comme masque de luminance */
mask: url(masks.svg#star) 40px 20px;       /* Élément d'un SVG utilisé comme masque positioné à 40px du haut et 20px de la gauche */
mask: url(masks.svg#star) 0 0/50px 50px;   /* Élément d'un SVG utilisé comme masque avec une hauteur et largeur de 50px */
mask: url(masks.svg#star) repeat-x;        /* Élément d'un SVG utilisé comme masque répété horizontalement */
mask: url(masks.svg#star) stroke-box;      /* Élément d'un SVG utilisé comme masque étendu à la boîte contenu dans le contour */
mask: url(masks.svg#star) exclude;         /* Élément d'un SVG utilisé comme masque et combiné avec l'arrière-plan pour les parties qui ne se chevauchent pas */

/* Valeurs globales */
mask: inherit;
mask: initial;
mask: unset;
</pre>

<h3 id="Valeurs">Valeurs</h3>

<dl>
 <dt><code>&lt;mask-reference&gt;</code></dt>
 <dd>Cette valeur permet de définir l'image source pour le masque. Voir {{cssxref("mask-image")}}.</dd>
 <dt><code>&lt;masking-mode&gt;</code></dt>
 <dd>Cette valeur définit le mode du masque. Voir {{cssxref("mask-mode")}}.</dd>
 <dt><code>&lt;position&gt;</code></dt>
 <dd>Cette valeur définit la position de l'image du masque. Voir {{cssxref("mask-position")}}.</dd>
 <dt><code>&lt;bg-size&gt;</code></dt>
 <dd>Cette valeur définit la taille de l'image du masque. Voir {{cssxref("mask-size")}}.</dd>
 <dt><code>&lt;repeat-style&gt;</code></dt>
 <dd>Cette valeur définit le mode de répétition de l'image du masque. Voir {{cssxref("mask-repeat")}}.</dd>
 <dt><code>&lt;geometry-box&gt;</code></dt>
 <dd>Si une seule valeur <code>&lt;geometry-box&gt;</code> est fournie, elle définira les valeurs de {{cssxref("mask-origin")}} et {{cssxref("mask-clip")}}. Si deux valeurs sont fournies, la première sera utilisée pour définir {{cssxref("mask-origin")}} et la deuxième pour définir {{cssxref("mask-clip")}}.</dd>
 <dt><code>&lt;geometry-box&gt; | no-clip</code></dt>
 <dd>Cette valeur définit la zone qui est impactée par l'image du masque. Voir {{cssxref("mask-clip")}}.</dd>
 <dt><code>&lt;compositing-operator&gt;</code></dt>
 <dd>Cette valeur définit l'opération de composition qui est utilisée par rapport à la couche de masque actuelle. Voir {{cssxref("mask-composite")}}.</dd>
</dl>

<h3 id="Syntaxe_formelle">Syntaxe formelle</h3>
<p>{{csssyntax}}</p>

<h2 id="Exemples">Exemples</h2>

<h3 id="HTML">HTML</h3>

<pre class="brush: html">&lt;p class="exemple"&gt;Il y avait une table servie sous un arbre devant
 la maison, et le Lièvre y prenait le thé avec le Chapelier. Un Loir
 profondément endormi était assis entre les deux autres qui s’en
 servaient comme d’un coussin, le coude appuyé sur lui et causant
 par-dessus sa tête.&lt;/p&gt;
</pre>

<h3 id="CSS">CSS</h3>

<pre class="brush: css">.exemple{
  mask:url(https://developer.mozilla.org/static/img/favicon72.png) luminance 20%;
}
</pre>

<h3 id="Résultat">Résultat</h3>

<p>{{EmbedLiveSample("Exemples")}}</p>

<h2 id="Spécifications">Spécifications</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">Spécification</th>
   <th scope="col">État</th>
   <th scope="col">Commentaires</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{SpecName("CSS Masks", "#the-mask", 'mask')}}</td>
   <td>{{Spec2("CSS Masks")}}</td>
   <td>Extension aux éléments HTML. La syntaxe est étendue et la propriété devient une propriété raccourcie pour les nouvelles propriétés <code>mask-*</code> définies avec cette spécification.</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>

<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>

<p>{{Compat("css.properties.mask")}}</p>

<h2 id="Voir_aussi">Voir aussi</h2>

<ul>
 <li>{{cssxref("clip-path")}}, {{cssxref("filter")}}</li>
 <li><a href="https://hacks.mozilla.org/2017/06/css-shapes-clipping-and-masking/">Les formes CSS : "clipping" et "masking" – comment les utiliser (en anglais)</a></li>
 <li><a href="/fr/docs/Applying_SVG_effects_to_HTML_content">Appliquer des effets SVG à du contenu HTML</a></li>
 <li><a href="/fr/docs/Web/SVG">SVG</a></li>
</ul>