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é grid-area
est une propriété raccourcie pour grid-row-start
, grid-row-end
, grid-column-start
et grid-column-end
qui permet de définir la taille d'un objet de la grille et son emplacement.
Si quatre valeurs <grid-line>
sont fournies, la première sera appliquée à grid-row-start
, la deuxième à grid-column-start
, la troisième à grid-row-end
et la quatrième à grid-column-end
.
Lorsqu'il n'y a pas de valeur pour grid-column-end
, si grid-column-start
est un identifiant de zone, grid-column-end
sera défini avec cet identifiant, sinon il sera défini avec auto
.
Lorsqu'il n'y a pas de valeur pour grid-row-end
, si grid-row-start
est un identifiant de zone, grid-row-end
sera défini avec cet identifiant, sinon il sera défini avec auto
.
Lorsqu'il n'y a pas de valeur pour grid-column-start
, si grid-row-start
est un identifiant de zone, les quatres propriétés seront définies avec cette valeur. Sinon, elles vaudront auto
.
Valeur initiale | pour chaque propriété individuelle de la propriété raccourcie :
|
---|---|
Applicabilité | élements de grilles et boîtes positionnées de façon absolue dont le bloc englobant est un conteneur de grille |
Héritée | non |
Média | visuel |
Valeur calculée | pour chaque propriété individuelle de la propriété raccourcie :
|
Animable | non |
Ordre canonique | l'ordre unique et non-ambigu défini par la grammaire formelle |
Syntaxe
/* Valeurs avec un mot-clé */ grid-area: auto; grid-area: auto / auto; grid-area: auto / auto / auto; grid-area: auto / auto / auto / auto; /* Valeurs <custom-ident> */ grid-area: unezonenommee; grid-area: 2; grid-area: [linename1] 100px [linename2 linename3]; grid-area: unezonenommee / 4; grid-area: 2 / [linename1] 100px [linename2 linename3] / 4; grid-area: [linename1] 100px [linename2 linename3] / unezonenommee / 2 / 4; /* Valeurs <integer> + <custom-ident> */ grid-area: unezonenommee 4; grid-area: unezonenommee 4 / unezonenommee 6; grid-area: unezonenommee 4 / unezonenommee 6 / unezonenommee 3; grid-area: unezonenommee 4 / unezonenommee 6 / unezonenommee 3 / unezonenommee 8; /* Valeurs span + <integer> + <custom-ident> */ grid-area: span 3; grid-area: span unezonenommee; grid-area: 5 unezonenommeespan; grid-area: span 3 / span 6; grid-area: span unezonenommee/ span 4 / 3 unezonenommee span; grid-area: span 5 / span unezonenommee/ 2 unezonenommee span / unezonenommee span 6; /* Valeurs globales */ grid-area: inherit; grid-area: initial; grid-area: unset;
Valeurs
auto
- Un mot-clé qui indique que la propriété ne contribue pas au placement de l'élément sur la grille. Cela indique un placement automatique, une taille de fragment (span) automatique ou une taille par défaut de
1
. <custom-ident>
- S'il existe une ligne nommée avec '<custom-ident>-start', la première ligne correspondante contribue au placement de l'élément sur la grille.
Note : Les noms des zones de grille sont générés implicitement. Ainsi, en utilisant
grid-area: foo;
cela sélectionnera le début de la grille nommée correspondante (sauf si une autre lignefoo-start
a été explicitement déclarée).Sinon, la valeur est traitée comme si on avait utilisé
<custom-ident>
et la valeur1
. <integer> && <custom-ident>?
- La n-ième ligne de la grille contribue au placement de l'élément sur la grille. Si un entier négatif est utilisé, le comptage sera fait depuis la fin de la grille explicite.
Si un nom est fourni pour <custom-ident>, seules les lignes ayant ce nom seront comptées. S'il n'y a pas suffisamment de lignes existant avec ce nom, toutes les lignes implicites seront comptées afin de trouver la position.
Si la valeur entière utilisée est
0
, la règle est invalide. span && [ <integer> || <custom-ident> ]
- Un fragment de grille est utilisé pour le placement de l'élément sur la grille afin que le début de la ligne pour l'élément de la grille soit placé à n lignes du bord de fin.
Si un nom fourni pour <custom-ident>, seules les lignes ayant ce nom seront comptées. S'il n'y a pas suffisamment de lignes existantes avec ce nom, tout les lignes implicites du côté de la grille explicite et qui correspondent à la direction de la recherche seront comptées afin de placer ce fragment.
Si l'entier n'est pas défini, la valeur par défaut qui sera utilisée sera
1
. Les entiers négatifs ou nuls sont invalides.
Syntaxe formelle
<grid-line> [ / <grid-line> ]{0,3}où
<grid-line> = auto | <custom-ident> | [ <integer> && <custom-ident>? ] | [ span && [ <integer> || <custom-ident> ] ]
Exemples
CSS
#grid { display: grid; height: 100px; grid-template: repeat(4, 1fr) / 50px 100px; } #item1 { background-color: lime; grid-area: 2 / 2 / auto / span 3; } #item2 { background-color: yellow; } #item3 { background-color: blue; }
HTML
<div id="grid"> <div id="item1"></div> <div id="item2"></div> <div id="item3"></div> </div>
Résultat
Spécifications
Spécification | État | Commentaires |
---|---|---|
CSS Grid Layout La définition de 'grid-area' dans cette spécification. |
Version de travail | Définition initiale. |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Edge | Opera | Safari |
---|---|---|---|---|---|---|
Support simple | 29.0[1] | 40.0 (40.0)[2] | 10.0-ms[3] | 20-ms[3] | 28.0[1] | Nightly build-webkit |
Fonctionnalité | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Support simple | Pas de support | Pas de support | 10.0-ms[3] | Pas de support | Pas de support |
[1] Cette fonctionnalité est implémentée via le marqueur fonctionnalités expérimentales de la Web Platform sous chrome://flags
.
[2] Cette fonctionnalité est implémentée via la préférence layout.css.grid.enabled
qui vaut false
par défaut.
[3] Internet Explorer implémente une ancienne version de la spécification qui utilise le préfixe -ms et qui ne définit que grid-row-span
et grid-column-span
. Les propriétés implémentées disponibles sont donc -ms-grid-row-span
et -ms-grid-column-span
.