Propriété CSS grid-auto-rows

La propriété grid-auto-rows spécifie une taille pour les lignes dans un conteneur de grille.

Cette propriété a les valeurs suivantes: auto, max-content, min-content, minmax, length et percentages.

Valeur initiale auto
Appliquée à Conteneurs de la grille.
Héritée Non.
Animable Oui. La taille des lignes est animable.
Version CSS Grid Layout Module Level 1
Syntaxe DOM object.style.gridAutoRows = "40px";

Syntaxe

grid-auto-rows: auto | max-content | min-content | <length> | <percentage> | <flex> | initial | inherit;

Exemple

<!DOCTYPE html>
<html>
  <head>
    <title>Titre du document</title>
    <style>
      .box1 { grid-area: 1 / 1 / 2 / 2; }
      .box2 { grid-area: 1 / 2 / 2 / 3; }
      .box3 { grid-area: 1 / 3 / 2 / 4; }
      .box4 { grid-area: 2 / 1 / 3 / 2; }
      .box5 { grid-area: 2 / 2 / 3 / 3; }
      .box6 { grid-area: 2 / 3 / 3 / 4; }
      .auto-box1 { grid-area: 1 / 1 / 2 / 2; }
      .auto-box2 { grid-area: 1 / 2 / 2 / 3; }
      .auto-box3 { grid-area: 1 / 3 / 2 / 4; }
      .auto-box4 { grid-area: 2 / 1 / 3 / 2; }
      .auto-box5 { grid-area: 2 / 2 / 3 / 3; }
      .auto-box6 { grid-area: 2 / 3 / 3 / 4; }
      .grid-container {
      display: grid;
      grid-auto-rows: 100px;
      grid-gap: 10px;
      background-color: #ccc;
      padding: 10px;
      }
      .grid-container > div {
      background-color: #666;
      text-align: center;
      padding: 20px 0;
      font-size: 20px;
      }
      .auto-container {
      display: grid;
      grid-auto-rows: auto;
      grid-gap: 10px;
      background-color: #ccc;
      padding: 10px;
      }
      .auto-container > div {
      background-color: #666;
      text-align: center;
      padding: 20px 0;
      font-size: 20px;
      }
    </style>
  </head>
  <body>
    <h2>Exemple de la propriété grid-auto-rows </h2>
    <h3>100 pixels</h3>
    <div class="grid-container">
      <div class="box1">1</div>
      <div class="box2">2</div>
      <div class="box3">3</div>
      <div class="box4">4</div>
      <div class="box5">5</div>
      <div class="box6">6</div>
    </div>
    <h3>auto</h3>
    <div class="auto-container">
      <div class="auto-box1">1</div>
      <div class="auto-box2">2</div>
      <div class="auto-box3">3</div>
      <div class="auto-box4">4</div>
      <div class="auto-box5">5</div>
      <div class="auto-box6">6</div>
    </div>
  </body>
</html>

Voyons un autre exemple, qui contient plusieurs valeurs:

Exemple

<!DOCTYPE html>
<html>
  <head>
    <title>Titre du document</title>
    <style>
      .box1 { grid-area: 1 / 1 / 2 / 2; }
      .box2 { grid-area: 1 / 2 / 2 / 3; }
      .box3 { grid-area: 1 / 3 / 2 / 4; }
      .box4 { grid-area: 2 / 1 / 3 / 2; }
      .box5 { grid-area: 2 / 2 / 3 / 3; }
      .box6 { grid-area: 2 / 3 / 3 / 4; }
      .grey-box1 { grid-area: 1 / 1 / 2 / 2; }
      .grey-box2 { grid-area: 1 / 2 / 2 / 3; }
      .grey-box3 { grid-area: 1 / 3 / 2 / 4; }
      .grey-box4 { grid-area: 2 / 1 / 3 / 2; }
      .grey-box5 { grid-area: 2 / 2 / 3 / 3; }
      .grey-box6 { grid-area: 2 / 3 / 3 / 4; }
      .auto-box1 { grid-area: 1 / 1 / 2 / 2; }
      .auto-box2 { grid-area: 1 / 2 / 2 / 3; }
      .auto-box3 { grid-area: 1 / 3 / 2 / 4; }
      .auto-box4 { grid-area: 2 / 1 / 3 / 2; }
      .auto-box5 { grid-area: 2 / 2 / 3 / 3; }
      .auto-box6 { grid-area: 2 / 3 / 3 / 4; }
      .min-box1 { grid-area: 1 / 1 / 2 / 2; }
      .min-box2 { grid-area: 1 / 2 / 2 / 3; }
      .min-box3 { grid-area: 1 / 3 / 2 / 4; }
      .min-box4 { grid-area: 2 / 1 / 3 / 2; }
      .min-box5 { grid-area: 2 / 2 / 3 / 3; }
      .min-box6 { grid-area: 2 / 3 / 3 / 4; }
      .max-box1 { grid-area: 1 / 1 / 2 / 2; }
      .max-box2 { grid-area: 1 / 2 / 2 / 3; }
      .max-box3 { grid-area: 1 / 3 / 2 / 4; }
      .max-box4 { grid-area: 2 / 1 / 3 / 2; }
      .max-box5 { grid-area: 2 / 2 / 3 / 3; }
      .max-box6 { grid-area: 2 / 3 / 3 / 4; }
      .grid-container {
      display: grid;
      grid-auto-rows: 150px;
      grid-gap: 10px;
      background-color: #ccc;
      padding: 10px;
      }
      .grid-container > div {
      background-color: #888;
      text-align: center;
      padding: 20px 0;
      font-size: 30px;
      }
      .grey-container {
      display: grid;
      grid-auto-rows: 30%;
      grid-gap: 10px;
      background-color: #ccc;
      padding: 10px;
      }
      .grey-container > div {
      background-color: #888;
      text-align: center;
      padding: 20px 0;
      font-size: 30px;
      }
      .auto-container {
      display: grid;
      grid-auto-rows: auto;
      grid-gap: 10px;
      background-color: #ccc;
      padding: 10px;
      }
      .auto-container > div {
      background-color: #888;
      text-align: center;
      padding: 20px 0;
      font-size: 30px;
      }
      .min-container {
      display: grid;
      grid-auto-rows: min-content;
      grid-gap: 10px;
      background-color: #000;
      padding: 10px;
      }
      .min-container > div {
      background-color: #ccc;
      text-align: center;
      padding: 20px 0;
      font-size: 30px;
      }
      .max-container {
      display: grid;
      grid-auto-rows: max-content;
      grid-gap: 10px;
      background-color: #000;
      padding: 10px;
      }
      .max-container > div {
      background-color: #ccc;
      text-align: center;
      padding: 20px 0;
      font-size: 30px;
      }
    </style>
  </head>
  <body>
    <h2>Exemple de la propriété grid-auto-rows</h2>
    <p>Utilisez la propriété <strong>grid-auto-rows</strong> pour définir une taille initiale (hauteur) pour toutes les lignes.</p>
    <h3>150 pixels</h3>
    <div class="grid-container">
      <div class="box1">1</div>
      <div class="box2">2</div>
      <div class="box3">3</div>
      <div class="box4">4</div>
      <div class="box5">5</div>
      <div class="box6">6</div>
    </div>
    <h3>30%</h3>
    <div class="grey-container">
      <div class="grey-box1">1</div>
      <div class="grey-box2">2</div>
      <div class="grey-box3">3</div>
      <div class="grey-box4">4</div>
      <div class="grey-box5">5</div>
      <div class="grey-box6">6</div>
    </div>
    <h3>auto</h3>
    <div class="auto-container">
      <div class="auto-box1">1</div>
      <div class="auto-box2">2</div>
      <div class="auto-box3">3</div>
      <div class="auto-box4">4</div>
      <div class="auto-box5">5</div>
      <div class="auto-box6">6</div>
    </div>
    <h3>min-content</h3>
    <div class="min-container">
      <div class="min-box1">1</div>
      <div class="min-box2">2</div>
      <div class="min-box3">3</div>
      <div class="min-box4">4</div>
      <div class="min-box5">5</div>
      <div class="min-box6">6</div>
    </div>
    <h3>max-content</h3>
    <div class="max-container">
      <div class="max-box1">1</div>
      <div class="max-box2">2</div>
      <div class="max-box3">3</div>
      <div class="max-box4">4</div>
      <div class="max-box5">5</div>
      <div class="max-box6">6</div>
    </div>
  </body>
</html>

Valeurs

Valeur Description
auto La taille des lignes occupe la taille du conteneur. C'est la valeur initiale de cette propriété.
max-content La taille de chaque ligne dépend du plus grand élément sur les lignes.
min-content La taille de chaque ligne dépend du plus petit élément sur les lignes.
minmax(min.max) L'intervalle de taille est supérieur ou égal à "min" et inférieur ou égal à "max".
<length> La taille des ligne est spécifiée par la valeur length.
<percentage> La taille des lignes est spécifiée en pourcentages.
<flex> Une dimension positive avec l'unité "fr" qui spécifie le facteur de flexibilité de la piste. Chaque piste de la taille <flex> occupera une partie de l'espace restant en fonction de ce facteur.
initial Fait la propriété utiliser sa valeur initiale.
inherit Hérite la propriété de l"élément parent.

Support de Navigateurs

chrome edge firefox safari opera
57+ 16+ 52+ 44+ 10.1+

Pratiquez vos connaissances

Quelle est la fonction de la propriété CSS 'grid-auto-rows' ?
Trouvez-vous cela utile?