--- title: grid-template-columns slug: Web/CSS/grid-template-columns tags: - CSS - Propriété - Reference translation_of: Web/CSS/grid-template-columns --- <div>{{CSSRef}}</div> <p>La propriété <strong><code>grid-template-columns</code></strong> définit les noms des lignes et les fonctions de taille (<em>track sizing</em>) pour les colonnes de la grille.</p> <div>{{EmbedInteractiveExample("pages/css/grid-template-columns.html")}}</div> <p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> <h2 id="Syntaxe">Syntaxe</h2> <pre class="brush: css no-line-numbers">/* Valeur avec un mot-clé */ grid-template-columns: none; /* Valeurs <track-list> */ grid-template-columns: 100px 1fr; grid-template-columns: [linename] 100px; grid-template-columns: [linename1] 100px [linename2 linename3]; grid-template-columns: minmax(100px, 1fr); grid-template-columns: fit-content(40%); grid-template-columns: repeat(3, 200px); /* Valeurs <auto-track-list> */ grid-template-columns: 200px repeat(auto-fill, 100px) 300px; grid-template-columns: minmax(100px, max-content) repeat(auto-fill, 200px) 20%; grid-template-columns: [linename1] 100px [linename2] repeat(auto-fit, [linename3 linename4] 300px) 100px; grid-template-columns: [linename1 linename2] 100px repeat(auto-fit, [linename1] 300px) [linename3]; /* Valeurs globales */ grid-template-columns: inherit; grid-template-columns: initial; grid-template-columns: unset; </pre> <h3 id="Valeurs">Valeurs</h3> <dl> <dt><code>none</code></dt> <dd>Un mot-clé qui indique qu'il n'y a pas de grille explicite. N'importe quelle colonne sera générée implicitement et sa taille sera déterminée grâce à la propriété {{cssxref("grid-auto-columns")}}.</dd> <dt><code><length></code></dt> <dd>Un longueur positive. Voir {{cssxref("<length>")}}.</dd> <dt><code><percentage></code></dt> <dd>Un pourcentage positif (type {{cssxref("<percentage>")}}) relatif à la taille du bloc du conteneur de la grille. Si cette taille n'est pas définie, la valeur est traitée comme <code>auto</code>.</dd> <dt><code><flex></code></dt> <dd>Une dimension positive dont l'unité <code>fr</code> indique le facteur de flexibilité de la piste. Chaque piste dimensionnée avec <code><flex></code> occupera une partie de l'espace restant en fonction de ce facteur. <p>Lorsque cette valeur apparaît en dehors de la notation <code>minmax()</code>, la valeur minimale <code>auto</code> est implicite (la valeur signifie <code>minmax(auto, <flex>)</code>). Voir {{cssxref("<flex>")}}.</p> </dd> <dt id="max-content"><code>max-content</code></dt> <dd>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.</dd> <dt><code>min-content</code></dt> <dd>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.</dd> <dt>{{cssxref("minmax","minmax(min, max)")}}</dt> <dd>Une notation fonctionnelle qui définit un intervalle de taille entre <code>min</code> et <code>max</code>. Si <code>max</code> est inférieur à <code>min</code>, <code>max</code> est ignoré et la fonction est traitée comme un minimum. En tant que maximum, elle joue le rôle d'une valeur <code><flex></code> qui définit le facteur de flexibilité de la piste. Cette valeur est invalide en tant que minimum.</dd> <dt id="auto"><code>auto</code></dt> <dd>Un mot-clé qui est identique au contenu maximal si c'est un maximum. Si c'est un minimum, il représente la plus grande des plus petites tailles (définie par {{cssxref("min-width")}}/{{cssxref("min-height")}})) des objets de la grilles qui occupe cette piste de la grille.</dd> <dd> <p class="note"><strong>Note :</strong> Les pistes de taille <code>auto</code> (et uniquement celles-ci) peuvent être étirées grâce aux propriétés {{cssxref("align-content")}} et {{cssxref("justify-content")}}.</p> </dd> <dt id="fit-content()">{{cssxref("fit-content", "fit-content( [ <length> | <percentage> ] )")}}</dt> <dd>Cette notation représente la formule <code>min(max-content, max(auto, argument))</code> qui est calculée comme pour <code>auto</code> (i.e. <code>minmax(auto, max-content)</code>) sauf que la taille de la piste est ramenée à <em>argument</em> si elle est plus grande que le minimum fourni par <code>auto</code>.</dd> <dt>{{cssxref("repeat","repeat( [ <positive-integer> | auto-fill | auto-fit ], <track-list> )")}}</dt> <dd>Représente un fragment répété d'une liste de pistes, cela permet de gérer des grilles avec de nombreuses colonnes pour lesquelles on réutilise un motif.</dd> </dl> <h3 id="Syntaxe_formelle">Syntaxe formelle</h3> {{csssyntax}} <h2 id="Exemples">Exemples</h2> <h3 id="CSS">CSS</h3> <pre class="brush:css">#grid { display: grid; width: 100%; grid-template-columns: 50px 1fr; } #areaA { background-color: lime; } #areaB { background-color: yellow; }</pre> <h3 id="HTML">HTML</h3> <pre class="brush: html"><div id="grid"> <div id="areaA">A</div> <div id="areaB">B</div> </div></pre> <h3 id="Résultat">Résultat</h3> <p>{{EmbedLiveSample("Exemples", "100%", "20px")}}</p> <h2 id="Spécifications">Spécifications</h2> <table class="standard-table"> <thead> <tr> <th scope="col">Spécification</th> <th scope="col">État</th> <th scope="col">Commentaires</th> </tr> </thead> <tbody> <tr> <td>{{SpecName("CSS3 Grid", "#propdef-grid-template-columns", "grid-template-columns")}}</td> <td>{{Spec2("CSS3 Grid")}}</td> <td>Définition initiale.</td> </tr> </tbody> </table> <p>{{cssinfo}}</p> <h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> <div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> <p>{{Compat("css.properties.grid-template-columns")}}</p> <h2 id="Voir_aussi">Voir aussi</h2> <ul> <li>{{cssxref("grid-template-rows")}}</li> <li>{{cssxref("grid-template-areas")}}</li> <li>{{cssxref("grid-template")}}</li> <li><a href="/fr/docs/Web/CSS/CSS_Grid_Layout/Les_concepts_de_base#Les_pistes">Guide : les concepts de base pour les grilles CSS : les pistes</a></li> <li>Tutoriel vidéo : <a href="http://gridbyexample.com/video/series-define-a-grid/">définir une grille (en anglais)</a></li> </ul>