mask-repeat

Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

La propriété mask-repeat définit la façon dont les images de masque sont répétées. Une image de masque peut être répétée horizontalement, verticalement, dans les deux directions ou pas du tout.

Par défaut, les images répétées sont rognées aux limites de l'élément mais on peut également les adapter pour qu'elles soient également réparties sur l'élément : en les redimensionnant si nécessaire (round) ou en les espaçant (space).

Valeur initialeno-repeat
Applicabilitétous les éléments ; en SVG, cela s'applique aux éléments conteneurs à l'exception des éléments defs et des éléments graphiques
Héritéenon
Médiavisuel
Valeur calculéeDeux mots-clés, chacun décrivant une dimension
Animablenon
Ordre canoniquel'ordre unique et non-ambigu défini par la grammaire formelle

Syntaxe

/* Syntaxe avec une valeur */
mask-repeat: repeat-x;
mask-repeat: repeat-y;
mask-repeat: repeat;
mask-repeat: space;
mask-repeat: round;
mask-repeat: no-repeat;

/* Syntaxe avec deux valeurs */
/* Première valeur : répétition horizontale */
/* Seconde valeur : répétition verticale */
mask-repeat: repeat space;
mask-repeat: repeat repeat;
mask-repeat: round space;
mask-repeat: no-repeat round;

/* Valeurs globales */
mask-repeat: inherit;
mask-repeat: initial;
mask-repeat: unset;

Valeurs

<repeat-style>
La notation utilisant une seule valeur est une notation raccourcie qui possède un équivalent avec deux valeurs :
Valeur unique Équivalent sur deux valeurs
repeat-x repeat no-repeat
repeat-y no-repeat repeat
repeat repeat repeat
space space space
round round round
no-repeat no-repeat no-repeat
Lorsqu'on utilise deux valeurs, la première indique le motif de répétition sur l'axe horizontal et la deuxième sur l'axe vertical. Voici une définition de chacun des mots-clés :
repeat L'image est répétée autant de fois que nécessaire pour recouvrir la zone dédiée au masque. La dernière image sera rognée si nécessaire.
space L'image est répétée autant que possible sans rognage. La première et la dernière image sont accolées aux bords de l'élément et des espaces sont repartis de façon égale entre les images. La propriété mask-position est ignorée sauf s'il n'y a qu'une seule image qui puisse être affichée sans être rognée. Le seul cas où space est utilisé et qu'une image est rognée se produit lorsque l'image est trop grande pour être affichée.
round L'image est répétée autant que possible et est étirée si nécessaire afin qu'il n'y ait ni rognage ni espace restant.
no-repeat Il n'y a aucune répétition de l'image (dès lors, il est possible que toute la zone ne soit pas recouverte par cette image). La position de l'image est définie grâce à la propriété mask-position.

Syntaxe formelle

<repeat-style>#


<repeat-style> = repeat-x | repeat-y | [repeat | space | round | no-repeat]{1,2}

Exemples

CSS

.exemple {
  height: 100px;
  width: 100px;
  background-color: rgb(128,128,128);
  border: solid black 1px;
  
  /* Pour voir la bordure */
  -webkit-mask-clip: content;
  mask-clip: content;

  -webkit-mask-image: url('https://developer.mozilla.org/static/img/favicon32.png');
  mask-image: url('https://developer.mozilla.org/static/img/favicon32.png');

  -webkit-mask-repeat: repeat-x; 
  mask-repeat: repeat-x;

}

HTML

<div class="exemple"></div>

Résultat

Spécifications

Spécification État Commentaires
CSS Masking Level 1
La définition de 'mask-repeat' dans cette spécification.
Candidat au statut de recommandation Définition initiale.

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support simple 1.0-webkit Pas de support[1] ? ? 4.0-webkit
Fonctionnalité Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Support simple 2.1-webkit Pas de support[1] ? ? 3.2-webkit

[1] À l'heure actuelle, Gecko n'implémente pas cette fonctionnalité (cf. bug 1251161).

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,