grid-auto-columns
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2020.
La propriété CSS grid-auto-columns définit la taille d'une colonne de grille créée implicitement, d'une piste ou d'un motif de pistes.
Exemple interactif
grid-auto-columns: auto;
grid-auto-columns: 1fr;
grid-auto-columns: min-content;
grid-auto-columns: minmax(10px, auto);
<section class="default-example" id="default-example">
<div class="example-container">
<div class="transition-all" id="example-element">
<div>Un</div>
<div>Deux</div>
<div>Trois</div>
<div>Quatre</div>
<div></div>
</div>
</div>
</section>
#example-element {
border: 1px solid #c5c5c5;
display: grid;
grid-auto-rows: 40px;
grid-gap: 10px;
width: 220px;
}
#example-element > div {
background-color: rgb(0 0 255 / 0.2);
border: 3px solid blue;
}
#example-element > div:nth-child(1) {
grid-column: 1 / 3;
}
#example-element > div:nth-child(2) {
grid-column: 2;
}
Si un élément de la grille est positionné sur une colonne dont la taille n'est pas explicitement définie avec grid-template-columns, une piste implicite de la grille est créée pour le contenir. Cela peut se produire soit en positionnant explicitement un élément sur une colonne hors plage, soit lorsque l'algorithme de placement automatique crée des colonnes supplémentaires.
Syntaxe
/* Valeurs avec un mot-clé */
grid-auto-columns: min-content;
grid-auto-columns: max-content;
grid-auto-columns: auto;
/* Valeurs de type <length> */
grid-auto-columns: 100px;
grid-auto-columns: 20cm;
grid-auto-columns: 50vmax;
/* Valeurs de type <percentage> */
grid-auto-columns: 10%;
grid-auto-columns: 33.3%;
/* Valeurs de type <flex> */
grid-auto-columns: 0.5fr;
grid-auto-columns: 3fr;
/* Valeurs minmax() */
grid-auto-columns: minmax(100px, auto);
grid-auto-columns: minmax(max-content, 2fr);
grid-auto-columns: minmax(20%, 80vmax);
/* Valeurs fit-content() */
grid-auto-columns: fit-content(400px);
grid-auto-columns: fit-content(5cm);
grid-auto-columns: fit-content(20%);
/* Gestion de plusieurs pistes */
grid-auto-columns: min-content max-content auto;
grid-auto-columns: 100px 150px 390px;
grid-auto-columns: 10% 33.3%;
grid-auto-columns: 0.5fr 3fr 1fr;
grid-auto-columns: minmax(100px, auto) minmax(max-content, 2fr)
minmax(20%, 80vmax);
grid-auto-columns: 100px minmax(100px, auto) 10% 0.5fr fit-content(400px);
/* Valeurs globales */
grid-auto-columns: inherit;
grid-auto-columns: initial;
grid-auto-columns: revert;
grid-auto-columns: revert-layer;
grid-auto-columns: unset;
Valeurs
<length>-
Une longueur positive.
<percentage>-
Un pourcentage (
<percentage>) positif indiquant la taille de la ligne relativement à la taille du bloc qui contient la grille. Si la taille de ce bloc n'est pas définie, la valeur exprimée en pourcents est considérée commeauto. <flex>-
Une dimension positive dont l'unité
frindique le facteur de flexibilité de la piste. Chaque piste dimensionnée avec<flex>occupera une partie de l'espace restant en fonction de ce facteur.Lorsque cette valeur apparaît en dehors de la notation
minmax(), la valeur minimaleautoest implicite (la valeur signifieminmax(auto, <flex>)). max-content-
Un mot-clé qui représente la plus grande des contributions maximales de contenu aux objets de la grilles qui occupe la piste de la grille.
min-content-
Un mot-clé qui représente la plus grande des contributions minimales de contenu aux objets de la grilles qui occupe la piste de la grille.
minmax(min, max)-
Une notation fonctionnelle qui définit un intervalle de taille entre
minetmax. Simaxest inférieur àmin,maxest ignoré et la fonction est traitée comme un minimum. En tant que maximum, elle joue le rôle d'une valeur<flex>qui définit le facteur de flexibilité de la piste. En tant que minimum, elle est gérée comme zéro (ou comme le contenu minimal si le conteneur de la grille impose une contrainte de contenu minimal). fit-content( [ <length> | <percentage> ] )-
Cette notation représente la formule
min(max-content, max(auto, argument))qui est calculée de façon semblable àauto, sauf qu'ici, la taille de la piste est écrétée à argument s'i elle est plus grande que le minimumauto. auto-
Comme maximum, cela représente la plus grande taille
max-contentdes éléments sur cette piste.Comme minimum, cela représente la plus grande des tailles minimales des éléments sur cette piste (définie par
min-width/min-heightdes éléments). Il s'agit souvent, mais pas toujours, de la taillemin-content.Si utilisé en dehors de la notation
minmax(),autoreprésente l'intervalle entre le minimum et le maximum décrit ci-dessus. Cela se comporte de façon similaire àminmax(min-content,max-content)dans la plupart des cas.Note : Les pistes de taille
auto(et uniquement celles-ci) peuvent être étirées grâce aux propriétésalign-contentetjustify-content. Par défaut, une piste dimensionnée enautooccupera tout l'espace restant dans le conteneur de la grille.
Définition formelle
| Valeur initiale | auto |
|---|---|
| Applicabilité | conteneurs de grille |
| Héritée | non |
| Pourcentages | fait référence à la dimension correspondante de la zone de contenu |
| Valeur calculée | le pourcentage tel que spécifié ou une longueur absolue |
| Type d'animation | by computed value type |
Syntaxe formelle
grid-auto-columns =
<track-size>+
<track-size> =
<track-breadth> |
minmax( <inflexible-breadth> , <track-breadth> ) |
fit-content( <length-percentage [0,∞]> )
<track-breadth> =
<length-percentage [0,∞]> |
<flex [0,∞]> |
min-content |
max-content |
auto
<inflexible-breadth> =
<length-percentage [0,∞]> |
min-content |
max-content |
auto
<length-percentage> =
<length> |
<percentage>
Exemples
>Définir la taille des colonnes de la grille
HTML
<div id="grid">
<div id="item1"></div>
<div id="item2"></div>
<div id="item3"></div>
</div>
CSS
#grid {
height: 100px;
display: grid;
grid-template-areas: "a a";
grid-gap: 10px;
grid-auto-columns: 200px;
}
#grid > div {
background-color: lime;
}
Résultat
Spécifications
| Specification |
|---|
| CSS Grid Layout Module Level 2> # auto-tracks> |
Compatibilité des navigateurs
Voir aussi
- La propriété
grid-auto-rows - La propriété
grid-auto-flow - La propriété
grid - Le placement automatique sur la grille - dimensionner les lignes de la grille implicite
- Vidéo : Introduction au placement automatique sur la grille et à l'ordre des éléments (angl.)