215 of 313 menu

Propriété grid-template-rows

La propriété grid-template-rows définit le nombre et la largeur des rangées que l'élément occupera dans la grille. Dans la valeur de la propriété, nous spécifions la largeur des rangées dans toutes les unités de taille. La propriété est spécifiée dans l'élément parent et détermine la largeur des rangées des éléments enfants.

Lorsque des valeurs en pixels sont spécifiées dans les propriétés, les tailles des rangées leur correspondront exactement. Si nous utilisons le mot-clé auto, les rangées rempliront tout l'espace disponible. L'utilisation de l'unité fr (fraction) signifie que tout l'espace sera divisé en parts égales. L'avantage de fr est son adaptabilité à différents conteneurs ou résolutions d'écran, car fr divise simplement l'espace en le nombre spécifié de fractions sans lien avec une taille exacte en pixels.

Syntaxe

sélecteur { grid-template-rows: largeur de la rangée; }

Exemple

Définissons la largeur des rangées pour nos éléments dans la grille :

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-rows: 50px 100px 50px 50px; border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Exemple

Donnons à la première et à la troisième rangée une largeur fixe en pixels, et que la deuxième rangée remplisse automatiquement l'espace disponible :

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-rows: 100px auto 60px; border: 2px solid #696989; padding: 10px; width: 400px; height: 200px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Exemple

Maintenant, utilisons la propriété grid-template-rows pour que les première et deuxième rangées occupent une partie du conteneur, et la troisième rangée - trois parties :

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-rows: 1fr 1fr 3fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 200px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Exemple

Les valeurs spécifiées en unités fr peuvent être fractionnaires. Modifions l'exemple précédent en spécifiant pour les deuxième et troisième rangées une largeur en nombres fractionnaires :

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-rows: 1fr 0.5fr 2.5fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 200px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Exemple

Utilisons la fonction repeat() dans la propriété grid-template-rows, qui indiquera au conteneur que les trois rangées doivent avoir la même largeur :

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-rows: repeat(3, 1fr); border: 2px solid #696989; padding: 10px; width: 400px; height: 200px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Exemple

Modifions maintenant l'exemple précédent pour ajouter une quatrième rangée aux trois rangées identiques, qui occupera deux fractions du conteneur :

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-rows: repeat(3, 1fr) 2fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 200px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Exemple

Donnons aux deux premières rangées une largeur d'une fraction du conteneur, et aux deux dernières rangées - deux fractions :

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-rows: repeat(2, 1fr) repeat(2, 2fr); border: 2px solid #696989; padding: 10px; width: 400px; height: 200px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Exemple

Maintenant, définissons la largeur des rangées en combinant les valeurs spécifiées à l'aide de la fonction repeat() et des unités libres fr :

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> </div> #parent { display: grid; grid-template-rows: repeat(2, 1fr) 3fr repeat(2, 2fr); border: 2px solid #696989; padding: 10px; width: 400px; height: 300px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Exemple

La fonction repeat() peut également utiliser la valeur auto-fill, qui remplira notre conteneur avec des rangées identiques de la largeur souhaitée :

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-rows: repeat(auto-fill, 50px); border: 2px solid #696989; padding: 10px; width: 400px; height: 200px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Exemple

Il est très pratique d'utiliser la fonction minmax() avec auto-fill, qui définit une plage de largeur pour les rangées allant d'une valeur minimale à une valeur maximale. Si la largeur du conteneur ne peut pas contenir toutes les rangées, certaines d'entre elles se déplaceront sur une nouvelle ligne, tandis que les rangées de la ligne se répartiront uniformément. Modifions l'exemple précédent en y spécifiant la fonction minmax() :

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-rows: repeat(auto-fill, minmax(50px, 1fr)); border: 2px solid #696989; padding: 10px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Exemple

Utilisons maintenant la propriété auto-fit, qui diffère de auto-fill en ce qu'elle ajuste le nombre de rangées à la largeur disponible du conteneur, en les élargissant ou en les rétrécissant :

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-rows: repeat(auto-fit, minmax(100px, 1fr)); border: 2px solid #696989; padding: 10px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Exemple

En plus de fr, on peut utiliser des valeurs en %, qui définissent également la partie du conteneur que la rangée occupera. Dans ce cas, la taille de la rangée en % sera d'abord calculée, puis l'espace libre restant sera divisé en fractions :

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-rows: 50% 1fr 2fr 30%; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Exemple

Utilisons ensemble les propriétés grid-template-columns et grid-template-rows :

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> </div> #parent { display: grid; grid-template-rows: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Exemple

Utilisons les propriétés grid-template-columns et grid-template-rows pour créer un tableau de neuf cellules, disposées sur trois rangées. De plus, les deuxième et troisième rangées auront la même largeur, et chaque colonne aura une largeur différente :

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> </div> #parent { display: grid; grid-template-rows: 60px 1fr 60px; grid-template-columns: 20% 1fr 15%; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Exemple

Maintenant, dans le tableau de l'exemple précédent, faisons en sorte que la rangée supérieure ait une largeur de deux fractions, et la première colonne - une demi-fraction :

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> </div> #parent { display: grid; grid-template-rows: 2fr 1fr 1fr; grid-template-columns: 0.5fr 1fr 1fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Voir aussi

  • la propriété grid-template-columns,
    qui définit le nombre et la largeur des colonnes dans la grille
  • la propriété grid-auto-rows,
    qui définit le nombre et la largeur des rangées dans la grille implicite
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser