Grid-row et grid-column - Propriétés CSS
Cette page concerne aussi les propriétés physiques :
grid-row-startgrid-row-endgrid-column-startgrid-column-endRésumé des caractéristiques de la propriété grid-row
auto | spanautogrid-row passe d'un nombre entier à un autre, sans transition.Schéma syntaxique de grid-row.
grid-rowLa syntaxe de
grid-column est exactement identiqueLes liens du schéma donnent accès à plus de détails.
Les termes utilisés sur le schéma sont décrits ci-dessous :
integer1est un nombre entier positif, sans unité. Il correspond à un numéro de colonnes.integer2est un nombre entier positif, sans unité, qui correspond à un nombre de colonnes.idest un identifiant de plage (ligne ou colonne), préalablement défini par la propriétégrid-template-areas.
Description des propriétés grid-row et grid-column.
Ces deux propriétés définissent sur quelle ligne et quelle colonne doit être positionné un élément dans une grille. Elles s'appliquent donc à un des éléments de la grille et non pas au container.
grid-row est une propriété résumée pour :
grid-row-start: numéro de la ligne où commencera l'élément.grid-row-end: numéro de la ligne contre laquelle s'arrêtera l'élément.
grid-column est une propriété résumée pour :
grid-column-start: numéro de la colonne où commencera l'élément.grid-column-end: numéro de la colonne contre laquelle s'arrêtera l'élément, o
Pour chacune des propriétés grid-row et grid-column, il est donc possible de spécifier deux valeurs, qui correspondent aux
propriétés détaillées. Ces deux valeurs devront être séparées par un slash ( / ).
La numérotation des lignes et des colonnes commence à 1.
Avec le mot span la valeur indiquée n'est plus un numéro de ligne ou de colonne, mais un nombre de lignes ou de colonnes sur lesquelles
l'élément ciblé doit s'étendre.
Exemple : voici deux syntaxes équivalentes pour décrire une cellule qui s'étend sur la deuxième et la troisième colonne :
grid-column: 2 / 4;
grid-column: 2 / span 2;
Si des noms de plages ont été définis sur la grille par la propriété grid-template-areas, ces noms peuvent être utilisés à la place
des numéros de ligne et de colonne.
Pour une information plus générale sur les conteneur grille reportez-vous à notre tutoriel sur les grilles.
Remarque : si vous devez changer dynamiquement les valeurs de ces propriétés, utilisez les propriétés individuelles. Il semblerait que les propriétés raccourcies ne puissent pas être modifiées par programme sur certains navigateurs.
Syntaxes pour grid-row et grid-column.
- grid-row: auto; grid-column: auto;
Les éléments se positionnent automatiquement, les uns à la suite des autres, en revenant sur une nouvelle ligne lorsque c'est nécessaire. Cela suppose que le nombre de colonnes et/ou de lignes ont été définis par
grid-template-columnsetgrid-template-rows. - grid-row: 2; grid-column: 5;
Lorsqu'une seule valeur est indiquée pour
grid-rowougrid-column, l'élément se positionne sur cette ligne et cette colonne, et n'est pas étendu sur plusieurs lignes ni plusieurs colonnes.Les valeurs indiquées doivent être des nombres entiers supérieurs ou égaux à 1 (puisque la numérotation commence à 1).
Si nécessaire, le navigateur peut ajouter des lignes ou des colonnes à la grille pour satisfaire le placement de l'élément sur la ligne et la colonne indiquées, même si cela génère des lignes ou des colonnes vides.
- grid-row: 2 / 3; grid-column: 5 / 8;
Lorsque deux nombres sont indiqués, l'élément ciblé débutera la première ligne ou colonne indiquée, et s'étendra jusqu'à buter sur la deuxième ligne ou colonne indiquée.
Les deux valeurs doivent être séparées par une barre oblique (
/) et être des nombres supérieurs ou égaux à 1.Avec les valeurs choisies pour notre exemple, l'élément commence à la ligne 2 et vient buter sur la ligne 3. Autrement dit il n'occupe qu'une seule ligne. Pour les colonnes, il commence sur la colonne 5 et vient buter sur la colonne 8. Il couvre donc trois colonnes, de la colonne 5 à la colonne 7.
- grid-row: 2 / span 2; grid-column: 5 / span 3;
Avec le mot
spanle nombre indiqué correspond à un nombre de lignes ou de colonnes sur lesquelles l'élément doit s'étendre.Avec les valeurs choisies pour notre exemple, l'élément commence sur la ligne 2 et couvre deux lignes. Il commence sur la colonne 5 et couvre 3 colonnes (les colonnes 5, 6 et 7).
- grid-row: b-end; grid-column: c-end;
Lorsque des plages ont été nommées sur la grille, ces noms peuvent être utilisés pour positionner les éléments. Reportez-vous à la propriété
grid-template-areaspour découvrir comment nommer des plages.Sur la grille, quatre plages ont été nommées
a,b,cetd. Elles sont matérialisées sur le schéma ci-dessous par des couleurs différents. Du même coup, les lignes et les colonnes de début et de fin de plage ont été nommées également :a-start,a-end,b-start,b-end,etc.Tous ces noms peuvent être utilisés à la place des numéros avec
grid-rowetgrid-columnpour positionner un élément dans la grille.
L'élément bleu a été positionné pargrid-row:d-start; grid-column:d-start;
On aurait obtenu le même résultat avecgrid-row:b-end; grid-column:c-end;Lorsque des plages ont été nommées, le positionnement des éléments dans la grille est encore plus facile avec la propriété
grid-area. - grid-row: initial; (
auto) grid-row: inherit; grid-row: revert; grid-row: revertLayer; grid-row: unset;grid-column: initial; (auto) grid-column: inherit; grid-column: revert; grid-column: revertLayer; grid-column: unset;Ces valeurs sont décrites plus en détail sur leur page respective :
initial,inherit,revert,revert-layer,unset.
Simulateur avec la propriété grid-row.
Le simulateur applique les valeurs que vous choisissez sur l'élément numéro 6, celui qui est en bleu. Observez comment les autres éléments se disposent en fonction de la place restante.
Vous pouvez saisir des numéros de lignes ou de colonnes qui n'existent pas encore : elles seront créées.
Prise en charge de grid-row par les navigateurs.
La prise en charge des grilles est globalement bonne.
Bien entendu, sauf pour l'ancien navigateur Internet explorer, qui reconnaît des syntaxes différentes pour les propriétés
relatives aux grilles.
Reportez-vous à la page sur la propriété grid pour une description plus détaillée
des problèmes de compatibilité avec IE.
grid-row pour positionner un élément sur une ligne de la grille.grid-column pour positionner un élément dans une colonne de la grille.grid-rowgrid-columnNavigateurs sur ordinateurs :
Navigateurs sur mobiles :
Navigateurs obsolètes ou marginaux :

Internet Explorer

KaiOS Browser

Opéra Mobile

Opéra

Firefox pour Androïd

Samsung Internet

Chrome

Edge

Firefox

Androïd Brower

Chrome pour Androïd

Baidu Browser

QQ Browser

Safari

Safari sur IOS

UC Browser pour Androïd

Opéra mini
Historique de la propriété grid-row.
-
Module CSS - Mise en page par grille - Niveau 1
Introduction des mises en page en grille et définition initiale des propriétésgrid-rowetgrid-column.07 Avril 2011Document de travail.29 Septembre 2016Candidat à la recommandation. -
Module CSS - Mise en page par grille - Niveau 2
Pas de changement concernant ces propriétés.06 Février 2018Document de travail.18 Août 2020Candidat à la recommandation. -
Module CSS - Mise en page par grille - Niveau 3
Le niveau 3 de la spécification introduit les grilles du type "Maçonnerie" (masonry) mais cela ne change rien en ce qui concerne les propriétésgrid-rowetgrid-column.19 Septembre 2024Document de travail.
Voir aussi ces autres notions.
Tous ces termes sont définis dans la spécification W3C concernant les grilles.



