Mask-clip - Propriété CSS

mask-clip

Résumé des caractéristiques de la propriété mask-clip

Description rapide
Définit la zone concernée par le masquage.
Statut
Standard
Utilisable sur
HTML, SVG
Valeurs prédéfinies
border-box | content-box | padding-box | fill-box | stroke-box | view-box | no-clip
Pourcentages
Ne s'appliquent pas.
Valeur initiale
border-box
Héritée par défaut
Non.
Type d'animation
Discrète : lors d'une animation, la propriété mask-clip passe d'une valeur à l'autre sans transition.
Module W3C
Module CSS - Masquage
Références (W3C)
Statut du document: CR (document candidat à la recommandation)

Schéma syntaxique de mask-clip.

Mask-clip property - Syntax diagramSyntax diagram of the mask-clip CSS property. See stylescss.free.fr for details. content-box content-box padding-box padding-box border-box border-box fill-box fill-box stroke-box stroke-box viex-box viex-box no-clip no-clip , ,mask-clip:;mask-clip:;
Schéma syntaxique de la propriété mask-clip
Les liens du schéma donnent accès à plus de détails

Description de la propriété mask-clip.

Le masquage consiste à faire interagir deux éléments entre eux. L'un d'eux, dénommé le masque, cachant certaines parties de l'autre.

La propriété mask-clip définit la zone de l'élément qui sera concernée par le masque. Les parties de l'élément à l'extérieur de cette zone ne seront pas affichées. mask-clip est sans effet si aucun masque n'est appliqué à l'élément (voir mask-image ou mask).

Voici un exemple. L'élément ci-dessous comporte une bordure de 10 pixels et des marges intérieures de 20 pixels (padding). Un masque lui est appliqué, ce qui donne cet effet de pointillisme. Voici ce qui sera visible en fonction de la valeur affectée à mask-clip. Les parties non soumises au masque ne sont pas affichées.

Contenu du bloc
L'élément original, sans masquage
Contenu du bloc
border-box
L'élément est visible en entier, avec sa bordure et les marges intérieures

Contenu du bloc
padding-box
Les marges intérieures sont visibles, mais pas la bordure

Contenu du bloc
content-box
La bordure et les marges intérieures sont masquées

 

Pour des explications plus complètes sur le masquage, reportez-vous à la propriété raccourcie mask.

Valeurs pour mask-clip.

  • mask-clip: content-box;

    Seul le contenu de l'élément est affecté par le masquage, à l'exclusion de ses marges intérieures (padding) et de sa bordure.

    Contenu
  • mask-clip: padding-box;

    Le contenu et les marges intérieures (padding) de l'élément sont affectés par le masque, mais pas la bordure.

    Contenu
  • mask-clip: border-box;

    Le contenu, les marges intérieures et la bordure de l'élément sont affectés par le masque.

    Contenu
  • mask-clip: no-clip;

    Aucune découpe n'est effectuée.

    Contenu
  • mask-clip: fill-box; mask-clip: stroke-box; mask-clip: view-box;

    Ces trois valeurs sont applicables aux éléments du type SVG. En HTML, on a les équivalences suivantes :

    • fill-box est équivalent à content-box.
    • stroke-box est équivalent à border-box.
    • view-box n'a pas d'équivalent. Il se comporte comme border-box ou no-clip.
    Contenu

    clip-mask:fill-box;
    Contenu

    clip-mask:stroke-box;
    Contenu

    clip-mask:view-box;

Valeurs communes :

mask-clip: initial (border-box) mask-clip: inherit mask-clip: revert mask-clip: revertLayer mask-clip: unset

Ces valeurs sont décrites plus en détail sur leur page respective : initial, inherit, revert, revert-layer, unset.

Animation de la propriété mask-clip.

Voici un exemple d'animation pour la propriété mask-clip, qui se traduit par un clignotement de la bordure.

Manipulation de la propriété mask-clip par programme.

Modifier la valeur de mask-clip en Javascript.

Voici deux exemples de code Javascript pour modifier la valeur de la propriété mask-clip. Javascript accepte une syntaxe avec la notation typique de CSS, en kebab-case, et une autre syntaxe avec la notation en camel-case, plus courante en Javascript.

Javascript
let el = document.getElementById('id'); el.style['mask-clip'] = 'content-box'; // ou let el = document.getElementById('id'); el.style.maskClip = 'content-box';

Lire en Javascript la valeur de mask-clip.

Ce code récupère la valeur de la propriété mask-clip si elle a été affectée directement à l'élément lui-même, dans le code HTML, avec l'attribut style et non pas en CSS, en passant par un sélecteur. C'est donc la code symétrique du précédent.

Javascript
let el = document.getElementById('id'); let value = el.style['mask-clip']; // ou let el = document.getElementById('id'); let value = el.style.maskClip;

Lire la valeur calculée de mask-clip en Javascript.

La valeur calculée est celle qui a été affectée à l'élément via un sélecteur quelconque, ou à défaut, celle qui est obtenue suivant le mécanisme d'héritage. Si la valeur n'est affectée nulle part, ce sera la valeur initiale : border-box.

Javascript
let el = document.getElementById('id'); let value = window.getComputedStyle(el).getPropertyValue('mask-clip');

Modifier la valeur de la propriété mask-clip avec JQuery.

Comme an Javascript, les écritures en kebab-case et en camel-case sont acceptées.

JQuery

$('#id').css('mask-clip', 'content-box');
// ou
$('#id').css('maskClip', 'content-box');

Lire la valeur calculée de la propriété mask-clip avec JQuery.

JQuery
let value = $('#id').css('mask-clip');

Autres exemples de code.

Allez voir d'autres exemples de code Javascript et JQuery sur la page Javascript et CSS.

Testez vous-même.

Les boutons ci-dessous appliquent la valeur saisie à la propriété mask-clip et affichent ensuite soit la valeur telle qu'elle a été appliquée, soit la valeur calculée, ce qui, dans le cas de mask-clip, ne fera pas de différence car la propriété n'accepte que des valeurs prédéfinies.

Simulateur avec la propriété mask-clip.

Le bloc de démonstration ci-dessous a des marges de 20 pixels, une bordure de 10 pixels, une marge intérieure (padding) de 20 pixels, et un fond bleu. Cela permet de visualiser les parties qui sont visibles et celles qui sont masquées en fonction de la valeur donnée à mask-clip.

mask-clip :
Ce bloc a des marges de 20 pixels, une bordure de 10 pixels, et une marge intérieure (padding) de 20 pixels.

Prise en charge de mask-clip par les navigateurs.

Colonne 1
Support des techniques de masquage consistant à masquer un élément par une image ou une forme géométrique.
Colonne 2
Support de la propriété mask-clip qui définit jusqu'où s'étend la portée du masque.

Remarques :

(1) Nécessite le préfixe -webkit-.
Supporte les propriétés mask-image et mask-box-image mais pas les autres propriétés relatives aux masques.

1
Masquage par
une image
2
Propriété
mask-clip
Estimation de la prise en charge globale.
92%
95%

Navigateurs sur ordinateurs :

Navigateurs sur mobiles :

Navigateurs obsolètes ou marginaux :

Internet Explorer

UC Browser pour Androïd

Opéra Mobile

QQ Browser

Baidu Browser

Samsung Internet

Safari

Safari sur IOS

Chrome

Opéra

Edge

Chrome pour Androïd

Firefox pour Androïd

Firefox

Androïd Brower

KaiOS Browser

Opéra mini

Historique de la propriété mask-clip.

  • Module CSS - Masquage - Niveau 1

    Introduction des techniques de masquage par image. Et définition initiale de la propriété mask-clip.
    WD
    15 Novembre 2012
    Document de travail.
    CR
    26 Août 2014
    Candidat à la recommandation.
    PR
    REC

Voir aussi, au sujet des techniques de masquage.

La propriété mask-clip est définie dans la spécification qui standardise tout ce qui concerne le masquage s'appelle CSS Masking Module (Module CSS - Masquage). Les propriétés suivantes sont également présentées dans ce module :

Propriétés :

clip
Découpe un élément à partir d'un rectangle.
clip-path
Définit la partie visible de l'élément, délimitée par une forme géométrique (rectangle, polygone...).
clip-rule
Définit comment gérer les formes creuses dans le contexte d'un découpage.
mask
Propriété résumée définissant les paramètres de masquage : dimensions du masque, position, répétition, origine, etc.
mask-border
Définit tous les paramètres d'un masque pour la bordure d'un élément.
mask-border-mode
Définit sur quel paramètre le masque doit agir (luminance, alpha).
mask-border-outset
Définit le décalage éventuel du masque de bordure par rapport à l'élément.
mask-border-repeat
Définit le mode de répétition du masque.
mask-border-slice
Définit comment l'image utilisée comme masque doit être découpée.
mask-border-source
Désigne l'image qui sera utilisée comme masque (masque du type bordure).
mask-border-width
Définit l'épaisseur de la bordure pour l'application d'un masque.
mask-composite
Définit comment seront combinés les masques lorsque plusieurs sont appliqués sur un élément.
mask-image
Désigne l'image ou le fichier SVG qui sera utilisé comme masque.
mask-mode
Définit le mode de masquage (couche alpha, luminance...)
mask-origin
Définit la référence pour le positionnement du masque.
mask-position
Définit la position du masque.
mask-repeat
Définit le mode de répétition du masque lorsque celui-ci est plus petit que l'élément à masquer.
mask-size
Fixe les dimensions du masque.