Propriété mask-composite
La propriété mask-composite permet de combiner plusieurs masques appliqués à un même élément. Elle définit comment les différents masques interagiront entre eux lors de leur superposition.
Syntaxe
sélecteur {
mask-composite: <compositing-operator>#;
}
Valeurs
| Valeur | Description |
|---|---|
add |
Le résultat est l'union de tous les masques (par défaut). |
subtract |
Le deuxième masque est soustrait du premier. |
intersect |
Seule la zone d'intersection des masques est affichée. |
exclude |
Les zones qui ne sont pas communes aux masques sont affichées. |
Exemple . Mode add
Union de deux masques (cœur et flèche) :
<img id="image" src="image.jpg">
#image {
width: 500px;
height: 281px;
mask-image:
url("heart.svg"),
url("arrow.svg");
mask-position:
100px 50px,
200px 30px;
mask-size: 150px;
mask-repeat: no-repeat;
mask-composite: add;
}
:
Exemple . Mode subtract
Soustraction de la flèche du cœur :
<img id="image" src="image.jpg">
#image {
width: 500px;
height: 281px;
mask-image:
url("heart.svg"),
url("arrow.svg");
mask-position:
100px 50px,
170px 80px;
mask-size:
250px,
120px;
mask-repeat: no-repeat;
mask-composite: subtract;
}
:
Exemple . Mode intersect
Affichage uniquement de la zone d'intersection des masques :
<img id="image" src="image.jpg">
#image {
width: 500px;
height: 281px;
mask-image:
url("heart.svg"),
url("arrow.svg");
mask-position:
100px 50px,
50px 30px;
mask-size: 150px;
mask-repeat: no-repeat;
mask-composite: intersect;
}
:
Exemple . Mode exclude
Affichage des zones qui ne sont pas communes :
<img id="image" src="image.jpg">
#image {
width: 500px;
height: 281px;
mask-image:
url("heart.svg"),
url("arrow.svg");
mask-position:
100px 50px,
50px 30px;
mask-size: 150px;
mask-repeat: no-repeat;
mask-composite: exclude;
}
:
Exemple . Combinaison avec des dégradés
Utilisation avec des masques en dégradé :
<div id="gradient-box"></div>
#gradient-box {
width: 400px;
height: 400px;
background: linear-gradient(45deg, red, yellow, green, blue);
mask-image:
radial-gradient(circle at 30% 30%, black 40%, transparent 70%),
radial-gradient(circle at 70% 70%, black 40%, transparent 70%);
mask-composite: exclude;
}
:
Voir aussi
-
propriété
mask-image,
définit les images pour les masques -
propriété
mask,
raccourci pour toutes les propriétés de masquage -
propriété
mask-mode,
définit le mode de fusion du masque -
propriété
mix-blend-mode,
définit le mode de fusion des éléments