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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
---
title: mask-origin
slug: Web/CSS/mask-origin
tags:
- CSS
- Experimental
- Propriété
- Reference
translation_of: Web/CSS/mask-origin
---
<div>{{CSSRef}}</div>
<p>La propriété <strong><code>mask-origin</code></strong> permet de définir l'origine à partir de laquelle placer le masque.</p>
<pre class="brush:css no-line-numbers">/* Valeurs avec un mot-clé */
mask-origin: content-box;
mask-origin: padding-box;
mask-origin: border-box;
mask-origin: margin-box;
mask-origin: fill-box;
mask-origin: stroke-box;
mask-origin: view-box;
/* Valeurs multiples */
mask-origin: padding-box, content-box;
mask-origin: view-box, fill-box, border-box;
/* Valeurs non-standards */
-webkit-mask-origin: content;
-webkit-mask-origin: padding;
-webkit-mask-origin: border;
/* Valeurs globales */
mask-origin: inherit;
mask-origin: initial;
mask-origin: unset;
</pre>
<p>Pour les éléments qui sont affichés avec une unique boîte, cette propriété définit la zone de positionnement du masque. Autrement dit, cette propriété indique l'origine de la position pour l'image définie via {{cssxref("mask-image")}}. Pour les éléments qui sont affichés comme plusieurs boîtes (les boîtes <em>inline</em> ou plusieurs lignes ou plusieurs boîtes sur plusieurs pages), elle définit les boîtes sur lesquelles {{cssxref("box-decoration-break")}} agira pour déterminer la zone de positionnement du masque.</p>
<h2 id="Syntaxe">Syntaxe</h2>
<p>Un ou plusieurs mots-clés parmi ceux listés ci-après, chacun séparé par une virgule.</p>
<h3 id="Valeurs">Valeurs</h3>
<dl>
<dt><code>content-box</code></dt>
<dd>La position de la zone est relative à la boîte de contenu.</dd>
<dt><code>padding-box</code></dt>
<dd>La position de la zone est relative à la boîte de remplissage (<em>padding</em>). Pour les boîtes simples, <code>0 0</code> désigne le coin en haut à gauche de la bordure de cette boîte et <code>100% 100%</code> le coin en bas à droite.</dd>
<dt><code>border-box</code></dt>
<dd>La position de la zone est relative à la boîte de bordure.</dd>
<dt><code>margin-box</code></dt>
<dd>La position de la zone est relative à la boîte de marge.</dd>
<dt><code>fill-box</code></dt>
<dd>La position de la zone est relative à la boîte liée à l'objet (<em><a href="https://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#__svg__SVGLocatable__getBBox">bounding box</a></em>).</dd>
<dt><code>stroke-box</code></dt>
<dd>La position de la zone est relative à la boîte de contour de l'objet (<em><a href="https://www.w3.org/TR/css-masking/#stroke-bounding-box">stroke bounding box</a></em>).</dd>
<dt><code>view-box</code></dt>
<dd>La zone d'affichage (<em>viewport</em>) SVG la plus proche est utilisée comme boîte de référence. Si l'attribut {{svgattr("viewBox")}} est défini pour l'élément qui crée la zone d'affichage, la boîte de référence est positionnée à l'origine du système de coordonnées établi par <code>viewBox</code>. Les dimensions de la boîte de référence sont les valeurs de largeur et de hauteur de <code>viewBox</code>.</dd>
<dt><code>content</code>{{non-standard_inline}}</dt>
<dd>Synonyme de <code>content-box</code>.</dd>
<dt><code>padding</code>{{non-standard_inline}}</dt>
<dd>Synonyme de <code>padding-box</code>.</dd>
<dt><code>border</code>{{non-standard_inline}}</dt>
<dd>Synonyme de <code>border-box</code>.</dd>
</dl>
<h3 id="Syntaxe_formelle">Syntaxe formelle</h3>
{{csssyntax}}
<h2 id="Exemples">Exemples</h2>
<h3 id="CSS">CSS</h3>
<pre class="brush: css; highlight[9]">#masked {
width: 100px;
height: 100px;
margin: 10px;
border: 10px solid blue;
background-color: #8cffa0;
padding: 10px;
-webkit-mask-image: url(https://mdn.mozillademos.org/files/12676/star.svg);
mask-image: url(https://mdn.mozillademos.org/files/12676/star.svg);
-webkit-mask-origin: border-box; /* À modifier dans le résultat. */
mask-origin: border-box; /* À modifier dans le résultat. */
}
</pre>
<h3 id="HTML">HTML</h3>
<pre class="brush: html"><div id="masked">
</div>
<select id="origin">
<option value="content-box">content-box</option>
<option value="padding-box">padding-box</option>
<option value="border-box" selected>border-box</option>
<option value="margin-box">margin-box</option>
<option value="fill-box">fill-box</option>
<option value="stroke-box">stroke-box</option>
<option value="view-box">view-box</option>
</select>
</pre>
<h3 id="JavaScript">JavaScript</h3>
<pre class="brush: js">var origin = document.getElementById("origin");
origin.addEventListener("change", function (evt) {
document.getElementById("masked").style.maskOrigin = evt.target.value;
});
</pre>
<h3 id="Résultat">Résultat</h3>
<p>{{EmbedLiveSample("Exemples", 160, 200)}}</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-origin", "mask-origin")}}</td>
<td>{{Spec2("CSS Masks")}}</td>
<td>Définition initiale.</td>
</tr>
</tbody>
</table>
<p>{{cssinfo}}</p>
<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
<p>{{Compat("css.properties.mask-origin")}}</p>
|