Examen approfondi de CSS Flexbox
Conférence 8 : Maîtriser CSS Flexbox - Une plongée en profondeur
Dans cette conférence, nous approfondirons CSS Flexbox, un outil de mise en page puissant qui vous aide à concevoir des mises en page réactives et flexibles. Vous apprendrez à utiliser Flexbox pour aligner, distribuer et ordonner efficacement les éléments, rendant ainsi votre conception plus adaptative sur tous les appareils.
Qu'est-ce que Flexbox ?
Flexbox, abréviation de « Flexible Box Layout », est un module de mise en page CSS qui facilite la conception de mises en page pouvant s'adapter à différentes tailles d'écran. Il permet d'organiser de manière flexible les éléments dans un conteneur, en les alignant dynamiquement en fonction de l'espace disponible.
1. Terminologie Flexbox
Avant de commencer à utiliser Flexbox, comprenons ses principaux composants :
- Flex Container : l'élément parent qui contient les éléments flexibles.
- Flex Items : les éléments enfants à l'intérieur du conteneur flex.
Vous activez Flexbox en définissant display: flex sur le conteneur.
- Exemple :
.flex-container { display: flex; }
Maintenant, les éléments enfants à l'intérieur de .flex-container se comporteront conformément aux règles Flexbox.
2. Direction flexible
flex-direction contrôle la direction dans laquelle les éléments flexibles sont placés dans le conteneur. Par défaut, les éléments sont placés dans une rangée.
-
Valeurs :
- rangée : les éléments sont disposés horizontalement (par défaut).
- row-reverse : les éléments sont disposés horizontalement mais dans l'ordre inverse.
- colonne : les éléments sont disposés verticalement.
- column-reverse : les éléments sont disposés verticalement dans l'ordre inverse.
Exemple :
.flex-container { display: flex; flex-direction: row; /* You can change to column */ }
3. Justifier le contenu
justify-content est utilisé pour aligner les éléments flexibles le long de l'axe principal (horizontal si direction flexible : ligne ; vertical si direction flexible : colonne).
-
Valeurs :
- flex-start : aligne les éléments sur le début.
- flex-end : aligne les éléments à la fin.
- center : Centre les éléments.
- espace entre : répartit les éléments, avec le premier élément au début et le dernier à la fin.
- space-around : ajoute un espace égal autour de chaque élément.
Exemple :
.flex-container { justify-content: center; }
Dans cet exemple, les éléments à l'intérieur du conteneur flexible seront centrés.
4. Aligner les éléments
align-items aligne les éléments flexibles le long de l'axe transversal (perpendiculaire à l'axe principal).
-
Valeurs :
- stretch : étire les éléments pour remplir le conteneur (par défaut).
- flex-start : aligne les éléments sur le début de l'axe transversal.
- flex-end : aligne les éléments à la fin de l'axe transversal.
- centre : centre les éléments le long de l'axe transversal.
Exemple :
.flex-container { align-items: center; }
5. Enveloppement flexible
Par défaut, les éléments flexibles sont placés sur une seule ligne et le contenu peut être réduit pour s'adapter. flex-wrap permet aux éléments flexibles de s'enrouler sur plusieurs lignes si nécessaire.
-
Valeurs :
- nowrap : les éléments restent sur une seule ligne (par défaut).
- wrap : les éléments sont enroulés sur plusieurs lignes.
- wrap-reverse : les éléments sont enroulés sur plusieurs lignes, mais dans l'ordre inverse.
Exemple :
.flex-container { flex-wrap: wrap; }
6. Aligner le contenu
align-content aligne plusieurs lignes d'éléments flexibles le long de l'axe transversal. Il est utilisé lorsque le conteneur dispose d'un espace supplémentaire dans l'axe transversal et qu'il y a plusieurs rangées d'éléments flexibles.
-
Valeurs :
- flex-start : regroupe les lignes vers le début.
- flex-end : regroupe les lignes vers la fin.
- centre : regroupe les lignes vers le centre.
- espace entre : distribue les lignes uniformément avec un espace entre elles.
- space-around : distribue les lignes uniformément avec de l'espace autour d'elles.
- stretch : étire les lignes pour occuper l'espace disponible.
Exemple :
.flex-container { align-content: space-between; }
Exemple pratique : création d'une galerie de photos adaptative
Créons une galerie de photos réactive à l'aide de Flexbox.
HTML :
<div class="gallery"> <div class="gallery-item">Image 1</div> <div class="gallery-item">Image 2</div> <div class="gallery-item">Image 3</div> <div class="gallery-item">Image 4</div> <div class="gallery-item">Image 5</div> </div>
CSS :
body { margin: 0; font-family: Arial, sans-serif; } .gallery { display: flex; flex-wrap: wrap; justify-content: space-around; gap: 10px; padding: 20px; } .gallery-item { flex-basis: calc(25% - 20px); /* Four items per row */ background-color: #ddd; padding: 20px; text-align: center; } @media screen and (max-width: 768px) { .gallery-item { flex-basis: calc(50% - 20px); /* Two items per row on smaller screens */ } }
Dans cet exemple :
- The .gallery container uses Flexbox to wrap the items and spread them evenly.
- Each .gallery-item takes up 25% of the container width, minus the gap.
- On smaller screens (below 768px), the items adjust to 50% width for better readability.
Responsive Design with Flexbox
Flexbox is a powerful tool for responsive design. You can easily adjust the layout by changing flex properties based on the screen size using media queries.
- Example:
@media screen and (max-width: 600px) { .gallery-item { flex-basis: 100%; /* Items take up full width on small screens */ } }
With this media query, on screens smaller than 600px, each gallery item will take up the full width of the container.
Practice Exercises
- Create a navigation bar using Flexbox, with the logo on the left and the links on the right.
- Create a three-column layout that wraps into one column on smaller screens.
- Use justify-content and align-items to create different layouts, like a centered section or a footer with evenly spaced links.
Next Up: In the next lecture, we’ll explore CSS Grid - A Deep Dive, where you’ll learn about CSS Grid and how it compares to Flexbox for building complex layouts. Stay tuned!
follow me on LinkedIn-
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Essayons de savoir un terme ici: "fournisseur de formulaire statique". Vous apportez votre HTML

Au début d'un nouveau projet, la compilation SASS se produit en un clin d'œil. Cela se sent bien, surtout quand il est associé à BrowSersync, qui recharge

Dans cette semaine, le Roundup des nouvelles de la plate-forme, Chrome présente un nouvel attribut pour le chargement, les spécifications d'accessibilité pour les développeurs Web et la BBC Moves

C'est moi qui regarde l'élément HTML pour la première fois. J'en ai été conscient depuis un certain temps, mais il ne l'a pas encore pris pour un tour. Il a un peu cool et

L'achat ou la construction est un débat classique de la technologie. Construire des choses vous-même peut être moins cher car il n'y a pas d'article de ligne sur votre facture de carte de crédit, mais

Pendant un certain temps, iTunes était le grand chien du podcasting, donc si vous avez lié "Abonnez-vous au podcast" pour aimer:

Au cours de cette semaine, un Bookmarklet pratique pour inspecter la typographie, en utilisant Await pour bricoler comment les modules JavaScript s'importent, ainsi que Facebook & # 039; S

Il existe de nombreuses plates-formes d'analyse pour vous aider à suivre les données des visiteurs et d'utilisation sur vos sites. Peut-être plus particulièrement Google Analytics, qui est largement utilisé
