La mask-clip
propriété CSS fait partie de la spécification CSS Masking Module Level 1 et définit la zone de peinture du masque. Il découpe littéralement la zone d'arrière-plan d'un élément et définit les zones qui apparaissent à travers le masque: bordure, remplissage ou zone de contenu. C'est un peu comme mettre le cadre sur une photo, en ne montrant que les parties de la photo qui ne sont pas couvertes par le cadre. Seulement, dans ce cas, nous définissons ce qui est découpé à l'aide des valeurs du modèle de boîte CSS.
.element ( mask-image: url(sun.svg); mask-clip: padding-box; )
Cela fonctionne comme la background-clip
propriété, sauf qu'elle a trois valeurs supplémentaires qui s'appliquent aux éléments SVG. Dans la démonstration suivante, vous pouvez modifier la zone de peinture du masque à l'aide de cette propriété. Il y a la même image en dessous pour montrer l'effet de mieux masquer et de marquer les zones de bordure et de remplissage:
Syntaxe
mask-clip: = margin-box | border-box | padding-box | content-box | fill-box | stroke-box | view-box | no-clip
- Valeur initiale:
border-box
- S'applique à: tous les éléments. En SVG, il s'applique aux éléments conteneurs à l'exclusion de l'
élément, tous les éléments graphiques.
- Héritée: non
- Type d'animation: discret
Valeurs
/* Keyword values */ mask-clip: border-box; mask-clip: content-box; mask-clip: fill-box; mask-clip: margin-box; mask-clip: padding-box; mask-clip: stroke-box; mask-clip: view-box; /* No clip */ mask-clip: no-clip; /* Global values */ mask-clip: intial; mask-clip: inherit; mask-clip: unset;
border-box
: Le contenu peint est découpé dans la zone de bordure. (Valeur par défaut)content-box
: Le contenu peint est découpé dans la zone de contenu.fill-box
: Le contenu peint est découpé dans le cadre de délimitation de l'objet.margin-box
: Le contenu peint est découpé dans la zone de marge.padding-box
: Le contenu peint est découpé dans la zone de remplissage.stroke-box
: Le contenu peint est découpé dans le cadre de délimitation du contour.view-box
: Utilise la fenêtre SVG la plus proche comme zone de référence. Si unviewBox
attribut est spécifié pour l'élément de création de la fenêtre SVG:- La boîte de référence est positionnée à l'origine du système de coordonnées établi par l'
viewBox
attribut. - La dimension de la boîte de référence est définie sur les valeurs
width
etheight
de l'viewBox
attribut.
- La boîte de référence est positionnée à l'origine du système de coordonnées établi par l'
no-clip
: Le contenu peint n'est pas tronqué.initial
: Applique le paramètre par défaut de la propriété, à savoirborder-box
.inherit
: Adopte lamask-clip
valeur du parent.unset
: Supprime le courantmask-clip
de l'élément.
Remarques
- Pour les éléments SVG sans boîte de mise en page CSS associée, les valeurs
content-box
,padding-box
calculent versfill-box
et pourborder-box
etmargin-box
calculent versstroke-box
. - Pour les éléments avec une boîte de mise en page CSS associée, les valeurs sont
fill-box
calculées verscontent-box
et pourstroke-box
etview-box
calculées à la valeur initiale demask-clip
ce qui estborder-box
.
Utiliser plusieurs valeurs
Cette propriété peut prendre une liste de valeurs séparées par des virgules pour les clips de masque et chaque valeur est appliquée à une image de calque de masque correspondante spécifiée dans la mask-image
propriété. Dans l'exemple suivant, la première valeur spécifie la zone de peinture de masque de la première image, la seconde valeur spécifie la zone de peinture de masque de la deuxième image, et ainsi de suite.
.element ( mask-image: url(image1.png.webp), url(image2.png.webp), url(image3.png.webp); mask-clip: padding-box, border-box, content-box; )
Démo
Prise en charge du navigateur
C'EST À DIRE | Bord | Firefox | Chrome | Safari | Opéra |
---|---|---|---|---|---|
Non | 79+ | 53+ | Tout | 4+ | 15+ |
Chrome Android | Android Firefox | Navigateur Android | Safari sur iOS | Opera Mobile |
---|---|---|---|---|
Tout | Tout | Tout | Tout | 59+ |
Plus d'information
Article le 6 nov.2016Détourage et masquage en CSS
![](1339450/mask-clip_css-tricks.jpg.webp)
![](1339450/mask-clip_css-tricks_2.jpg.webp)
![](1339450/mask-clip_css-tricks.jpg.webp)
![](1339450/mask-clip_css-tricks.jpg.webp)
![](1339450/mask-clip_css-tricks_3.jpg.webp)
![](1339450/mask-clip_css-tricks_3.jpg.webp)
![](1339450/mask-clip_css-tricks.jpg.webp)
![](1339450/mask-clip_css-tricks_3.jpg.webp)
![](1339450/mask-clip_css-tricks_3.jpg.webp)