Repeat() - Fonction CSS
Résumé des caractéristiques de la fonction repeat()
auto-fill | auto-fit | auto-areasSchéma syntaxique de repeat().
Sur le schéma, les termes en gras sont les mots prédéfinis de CSS, les autres termes sont décrits ci-dessous :
integerest un nombre entier, positif, sans unité.lengthest une valeur numérique positive, suivie d'une des unités de dimension.- Plusieurs valeurs
lengthpeuvent être indiquées, séparées par des espaces.
Description de la fonction repeat().
La fonction repeat() est utilisée pour définir les largeurs des colonnes d'une grille ou les hauteurs des lignes.
repeat() évite de répéter les valeurs identiques plusieurs fois. Cela allège l'écriture.
Exemple :
grid-template-columns: repeat(10, 10%);
/* Est équivalent à : */
grid-template-columns: 10% 10% 10% 10% 10% 10% 10% 10% 10% 10% ;
Pour plus d'informations sur le dimensionnement des lignes ou des colonnes d'une grille, reportez-vous aux pages sur les propriétés grid-template-rows et
grid-template-columns, ainsi qu'à la description de l'unité fr.
La valeur repeat() peut être utilisée avec les propriétés suivantes :
grid-template-columns: Définit le nombre et la largeur des colonnes d'une grille.grid-template-rows: Définit le nombre et la hauteur des lignes d'une grille.
Syntaxes de la fonction repeat().
- grid-template-columns: repeat(5, 200px); n w
nest un nombre entier positif, sans unité, qui indique le nombre de répétitions.west la largeur d'une colonne. Reportez-vous aux propriétésgrid-template-columnsetgrid-template-rowspour connaître les différentes syntaxes acceptées pour cette valeur.Il faut noter que la valeur
wpeut être une série de plusieurs valeurs, mais la fonctionrepeat()ne considérera pas qu'il s'agit de plusieurs paramètres : tout ce qui suit la virgule est considéré comme la valeur à répéter.
Ainsi la syntaxerepeat(5, 5% 15%)est équivalente à
5% 15% 5% 15% 5% 15% 5% 15% 5% 15%.La grille ci-dessous a été définie avec 5 colonnes d'une largeur de 50 pixels chacune.
12345repeat(5, 50px); - grid-template-columns: repeat(auto-fill, 100px); n w
Lorsque
auto-fillest précisé à la place du premier paramètre, la fonctionrepeat()calcule le nombre de colonnes ou de lignes maximum compte-tenu des dimensions du conteneur.Attention ! Pour que
repeat()soit utilisable avecauto-fill, les dimensions des colonnes doivent être exprimées dans une unité absolue (pixels par exemple).- Si
auto-fillest utilisé pour définir des colonnes, la largeur du conteneur doit être définie, ou au moins sa largeur maximale (voir la propriétémax-widthou la fonctionminmax()). - Si
auto-fillest utilisé pour définir des lignes, la hauteur ou la hauteur maximale du conteneur doit être définie (voir la propriétémax-heightou la fonctionminmax()). - Le deuxième paramètre
wne doit pas être exprimé en pourcentages.
La grille ci-dessous a des largeurs définies avec
auto-fill: le nombre de colonnes dépend de la largeur du conteneur.12345repeat(auto-fill, 75px); - Si
- grid-template-columns: repeat(auto-fit, 100px); n w
Avec
auto-fitspécifié en premier paramètre, la fonctionrepeat()se comporte comme avecauto-fillmais les colonnes (ou les lignes) qui se retrouveraient vides après le positionnement des éléments verront leur largeur réduite à 0.Dans la grille ci-dessous, le deuxième élément (en bleu) est positionné en colonne 3, ce qui laisse une cellule vide avant lui. En augmentant la largeur du conteneur, vous pourrez faire en sorte que la deuxième colonne de la grille se retrouve entièrement vide. Dans ce cas, le fonctionnement de
auto-fitfait disparaître celle colonne (largeur réduite à 0).12345repeat(auto-fit, 60px);Mais il est encore plus pertinent d'utiliser
auto-fiten définissant les valeurs minimale et maximale pour les largeurs (avec la fonctionminmax()par exemple). On obtient alors quelque chose qui s'adapte très bien à la taille de l'écran, et sans perte de place.12345repeat(auto-fit, minmax(60px, 1fr)); - grid-template-columns: repeat(auto-areas); ⚠
La valeur
auto-areasest réservée aux grilles du type maçonnerie.12345repeat(auto-areas);
Simulateur avec la fonction repeat().
Support de la fonction repeat().
Les navigateurs actuels traitent tous correctement le dimensionnement des lignes ou des colonnes d'une grille avec la fonction repeat(),
sauf en ce qui concerne les nouvelles possibilités offertes par les grilles du type maçonnerie.
repeat() pour définir la largeur des colonnes, avec la propriété grid-template-columns.repeat() pour définir la hauteur des lignes, avec la propriété grid-template-rows.repeat()avec
grid-template-columnsrepeat()avec
grid-template-rowsNavigateurs sur ordinateurs :
Navigateurs sur mobiles :
Navigateurs obsolètes ou marginaux :

Internet Explorer

QQ Browser

Safari sur IOS

Firefox pour Androïd

Opéra Mobile

Baidu Browser

KaiOS Browser

UC Browser pour Androïd

Samsung Internet

Chrome

Edge

Androïd Brower

Chrome pour Androïd

Opéra

Safari

Firefox

Opéra mini
Historique de la fonction repeat().
-
Module CSS - Mise en page par grille - Niveau 1
Présentation de la fonctionrepeat()pour faciliter l'énumération des colonnes d'une grille.07 Avril 2011Document de travail.29 Septembre 2016Candidat à la recommandation. -
Module CSS - Mise en page par grille - Niveau 2
Pas de changement concernant la syntaxe de la fonctionrepeat().06 Février 2018Document de travail.18 Août 2020Candidat à la recommandation. -
Module CSS - Mise en page par grille - Niveau 3
Adaptation de la syntaxe de la fonctionrepeat()aux nouvelles grilles du type "Maçonnerie" (masonry).19 Septembre 2024Document de travail.
Autres définitions relatives aux grilles.



