--- title: Grilles CSS (CSS Grid) slug: Web/CSS/CSS_Grid_Layout tags: - CSS - CSS Grids - Grilles CSS - Reference translation_of: Web/CSS/CSS_Grid_Layout ---
Le module CSS Grid layout (modèle de disposition en grille) est un module de la spécification CSS qui permet de créer des mises en page en divisant l'espace d'affichage en régions utilisables par une application ou en définissant des relations de taille, position et d'empilement entre les éléments HTML.
Comme les tableaux, la grille permet d'aligner des éléments sous forme de colonnes et de lignes mais à la différence des tableaux, la grille n'a pas de structure de contenu. Ainsi, on peut créer de nombreuses mises en page qui n'auraient pas été possibles avec les tableaux. Ainsi, les éléments fils d'un conteneur en grille peuvent être positionnés afin qu'ils se chevauchent ou qu'ils se comportent comme des éléments positionnés.
Dans l'exemple qui suit, on montre comment utiliser une grille avec trois pistes en colonnes pour laquelle les nouvelles lignes créées mesureront au moins 100 pixels et auront au plus la taille automatique (définie par leur contenu). Les éléments sont placés sur la grille grâce aux numéros des lignes horizontales et verticales.
* {box-sizing: border-box;} .wrapper { max-width: 940px; margin: 0 auto; } .wrapper > div { border: 2px solid rgb(233,171,88); border-radius: 5px; background-color: rgba(233,171,88,.5); padding: 1em; color: #d9480f; }
<div class="wrapper"> <div class="one">Un</div> <div class="two">Deux</div> <div class="three">Trois</div> <div class="four">Quatre</div> <div class="five">Cinq</div> <div class="six">Six</div> </div>
.wrapper { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 10px; grid-auto-rows: minmax(100px, auto); } .one { grid-column: 1 / 3; grid-row: 1; } .two { grid-column: 2 / 4; grid-row: 1 / 3; } .three { grid-column: 1; grid-row: 2 / 5; } .four { grid-column: 3; grid-row: 3; } .five { grid-column: 2; grid-row: 4; } .six { grid-column: 3; grid-row: 4; }
{{EmbedLiveSample("Un_exemple_simple", "100%", "440")}}
{{cssxref("<flex>")}}
Spécification | État | Commentaires |
---|---|---|
{{SpecName('CSS Grid 2')}} | {{Spec2("CSS Grid 2")}} | Ajout des « sous-grilles » (subgrids). |
{{SpecName('CSS3 Grid')}} | {{Spec2('CSS3 Grid')}} | Définition initiale. |