Bienvenue à la neuvième conférence du cours "De base à Brilliance". Dans cette conférence, nous explorerons CSS Grid, un système de mise en page puissant qui vous permet de créer facilement des mises en page Web complexes. Alors que Flexbox est idéal pour les mises en page unidimensionnelles (lignes ou colonnes), CSS Grid fournit un système de mise en page bidimensionnel, vous permettant de contrôler simultanément les lignes et les colonnes.
CSS Grid est un système de mise en page en CSS qui permet la création de mises en page flexibles, réactives et basées sur une grille. Il vous permet d'aligner les éléments en lignes et en colonnes, offrant ainsi plus de contrôle sur la structure de mise en page que Flexbox.
Avant de plonger dans des exemples, familiarisons-nous avec quelques termes clés :
Pour commencer à utiliser Grid, appliquez display: grid au conteneur.
.grid-container { display: grid; }
Une fois display : grid appliqué, les éléments enfants du conteneur deviennent des éléments de grille.
Vous pouvez définir le nombre de lignes et de colonnes de votre grille à l'aide des propriétés grid-template-columns et grid-template-rows.
.grid-container { display: grid; grid-template-columns: 100px 200px 100px; grid-template-rows: 50px 150px; }
Cela créera une grille avec :
CSS Grid introduit l'unité fractionnaire fr, qui représente une fraction de l'espace disponible dans le conteneur de grille. Il s'agit d'un moyen flexible d'attribuer de l'espace entre les éléments de la grille.
.grid-container { display: grid; grid-template-columns: 1fr 1fr 1fr; }
Dans cet exemple, les trois colonnes auront des largeurs égales, chacune occupant une fraction de l'espace disponible.
Vous pouvez contrôler l'emplacement de chaque élément de la grille à l'aide des propriétés de colonne de grille et de ligne de grille. Ces propriétés vous permettent de spécifier les positions de début et de fin des éléments.
.grid-item { grid-column: 1 / 3; /* This item spans from column 1 to column 3 */ grid-row: 1 / 2; /* This item is placed in the first row */ }
Dans ce cas, l'élément de grille s'étendra sur les deux premières colonnes mais sera placé dans la première ligne.
La propriété grid-gap ajoute de l'espace entre les éléments de la grille, à la fois horizontalement et verticalement.
.grid-container { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-gap: 20px; }
Cela crée des écarts égaux de 20 px entre tous les éléments de la grille.
L'ajustement automatique et le remplissage automatique sont des fonctionnalités puissantes qui permettent à la grille de placer automatiquement autant de colonnes que possible, en fonction de la taille du conteneur.
.grid-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); }
Ici, la grille s'adaptera automatiquement à autant de colonnes que possible, garantissant que chaque colonne mesure au moins 100 px de large mais peut s'agrandir pour remplir l'espace disponible.
Créons une disposition de grille simple avec CSS Grid.
HTML :
<div class="grid-container"> <div class="grid-item">1</div> <div class="grid-item">2</div> <div class="grid-item">3</div> <div class="grid-item">4</div> <div class="grid-item">5</div> <div class="grid-item">6</div> </div>
CSS :
.grid-container { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 10px; } .grid-item { background-color: #ddd; padding: 20px; text-align: center; }
Dans cet exemple :
Vous pouvez également imbriquer des grilles, où un élément de grille devient lui-même un conteneur de grille. Cela permet des mises en page plus complexes.
.nested-grid { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 10px; }
Vous pouvez appliquer ce concept pour créer une grille à l'intérieur d'une autre grille pour un contrôle plus granulaire de votre mise en page.
CSS Grid is great for responsive design. You can adjust the number of columns based on the screen size using media queries.
.grid-container { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 10px; } @media screen and (max-width: 768px) { .grid-container { grid-template-columns: repeat(2, 1fr); } } @media screen and (max-width: 480px) { .grid-container { grid-template-columns: 1fr; } }
In this example:
Next Up: In the next lecture, we’ll explore Advanced CSS Grid Techniques, including grid areas, template layouts, and combining Grid with Flexbox. Stay tuned!
Ridoy Hasan
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!