Mask-size - Propriété CSS

mask-size

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

Description rapide
Fixe les dimensions du masque.
Statut
Standard
Utilisable sur
HTML, SVG
Valeurs prédéfinies
auto | contain | cover
Pourcentages
Calculés par rapport aux dimensions de l'élément à masquer.
Valeur initiale
auto
Héritée par défaut
Non.
Type d'animation
Repeatable list : liste répétable.
Module W3C
Module CSS - Masquage
Références (W3C)
Statut du document: CR (document candidat à la recommandation)

Schéma syntaxique de mask-size.

Mask-size property - Syntax diagramSyntax diagram of the mask-size CSS property. See stylescss.free.fr for details. auto auto cover cover contain contain length / % length / % , , length / % length / %mask-size:;mask-size:;
Schéma syntaxique de la propriété mask-size.
Les liens du schéma donnent accès à plus de détails.

Sur le schéma, les termes en gras sont les mots prédéfinis de CSS, les autres termes sont décrits ci-dessous :

  • length sont des valeurs numériques positives ou nulles, suivies d'une des unités de dimension.
  • % sont des pourcentages calculés par rapport à la largeur ou la hauteur de l'élément.

Description de la propriété mask-size.

Les techniques de masquage posent encore beaucoup de problèmes de compatibilité. Doublez les syntaxes avec la variante -webkit-mask-size pour améliorer la compatibilité.

Le masquage et une technique qui consiste à cacher certaines parties d'un élément d'après une image définie comme étant le masque. Ce dernier peut aussi être un fichier SVG.

La propriété mask-size définit les dimensions du masque. Doit-il être agrandi ou rétréci pour couvrir l'élément qu'il doit masquer ?

Pour plus d'information sur la technique de masquage, reportez-vous à la propriété raccourcie mask.

Valeurs pour mask-size.

  • mask-size: auto;

    Le masque est utilisé avec ses dimensions originales.
    Si le masque n'a pas de dimensions propres (dégradé, fichier SVG) les dimensions du masque seront ajustées sur celles de l'élément masqué.

  • mask-size: cover;

    Le masque est agrandi ou réduit pour couvrir toute la zone à masquer. Les proportions du masque sont conservées : le masque peut déborder verticalement ou horizontalement.

    La zone à masquer peut inclure la bordure, les marges intérieures, ou seulement le contenu. Voir à ce sujet la propriété mask-origin.

    Taille du masque avec mask-size:cover et <code>mask-origin</code>:border-box
    mask-size:cover;
    mask-origin:border-box;
    Taille du masque avec mask-size:cover et <code>mask-origin</code>:padding-box
    mask-size:cover;
    mask-origin:padding-box;
    Taille du masque avec mask-size:cover et <code>mask-origin</code>:content-box
    mask-size:cover;
    mask-origin:content-box;

    Le masque est un cercle. Dimensionné avec cover, son diamètre sera égal à la plus grande des dimensions de la zone à masquer. Il débordera dans l'autre direction (le masque lui-même étant invisible, cela ne peut pas être gênant)..

  • mask-size: contain;

    Le masque est agrandi ou réduit pour tenir entièrement dans les dimensions de la zone à masquer. Les proportions du masque sont conservées : le masque peut ne pas couvrir entièrement l'élément.

    Taille du masque avec mask-size:contain et <code>mask-origin</code>:border-box
    mask-size:contain;
    mask-origin:border-box;
    Taille du masque avec mask-size:contain et <code>mask-origin</code>:padding-box
    mask-size:contain;
    mask-origin:padding-box;
    Taille du masque avec mask-size:contain et <code>mask-origin</code>:content-box
    mask-size:contain;
    mask-origin:content-box;

    Le masque est un cercle. Dimensionné avec contain, son diamètre sera égal à la plus petite des dimensions de la zone à masquer. Il ne couvrira donc pas tout l'élément dans sa plus grande dimension.

  • mask-size: 50px 25px;

    mask-size accepte également une ou deux valeurs numériques positives, avec leur unité de dimension (voir les unités de dimension) ou exprimées en pourcentages. Ces deux valeurs définissent respectivement la largeur et la hauteur du masque. Les proportions de ce dernier peuvent donc ne pas être conservées.

    Si une seule valeur est indiquée, elle définit la largeur du masque, la hauteur sera modifiée pour conserver les proportions initiales du masque.

    Les pourcentages sont calculés par rapport aux dimensions de la zone à masquer.

    Taille du masque définie sur 100% et <code>mask-origin</code>:border-box
    mask-size:100% 100%;
    mask-origin:border-box;
    Taille du masque définie sur 100% et <code>mask-origin</code>:padding-box
    mask-size:100% 100%;
    mask-origin:padding-box;
    Taille du masque définie sur 100% et <code>mask-origin</code>:content-box
    mask-size:100% 100%;
    mask-origin:content-box;

    Le masque est un cercle. Si ses deux dimensions sont fixées à 100%, il sera déformé (il devient une ellipse) pour prendre les mêmes dimensions que la zone qu'il masque.

  • mask-size: cover, cover, 50px 50px, ...;

    Plusieurs valeurs peuvent être indiquées, séparées par une virgule. Cette syntaxe est utile lorsque plusieurs masques sont définis.

  • mask-size: initial; (auto) mask-size: inherit; mask-size: revert; mask-size: revertLayer; mask-size: 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-size.

Cet effet hypnotique est obtenu en animant la propriété mask-size. Le masque utilisé est un dégradé répétitif circulaire .

Animation de la propriété mask-size

Simulateur avec la propriété mask-size.

mask-size :
Exemple d'utilisation de mask-size (CSS)
L'élément original
180 x 120 pixels
Masque pour mask-size (CSS)

Le masque
100 x 100 pixels
Résultat de mask-size (CSS)
Le résultat
Exemple d'utilisation de mask-size (CSS)
L'élément original
180 x 120 pixels
Le masque
dégradé circulaire
(sans dimensions)
Résultat de mask-size (CSS)
Le résultat

Prise en charge de mask-size 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-size pour définir la taille 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-size
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-size

  • Module CSS - Masquage - Niveau 1

    Première spécification concernant les techniques de masquage par image. Et première définition des propriétés correspondantes dont la propriété mask-size.
    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-size est décrite dans la spécification qui standardise tout ce qui concerne le masquage : CSS Masking Module, ou "Module CSS - Masquage" en français.
Les propriétés ci-dessous sont également concernées :

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-clip
Définit la zone concernée par le masquage.
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.