Maison interface Web tutoriel CSS CSS Flexbox et Grid : l'art de créer des mises en page réactives

CSS Flexbox et Grid : l'art de créer des mises en page réactives

Dec 20, 2024 am 11:03 AM

CSS Flexbox and Grid: The Art of Building Responsive Layouts

Disposition flexible

affichage: flexible

Activez le mode de mise en page Flex. Définissez un élément en tant que conteneur Flex et ses éléments enfants directs deviendront des éléments Flex.

.container {
    display: flex;
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

direction flexible

Définit la direction de l'axe principal (la direction de la disposition des éléments). Valeurs facultatives :

  • ligne (par défaut) : horizontale, de gauche à droite.
  • ligne-inverse : horizontale, de droite à gauche.
  • colonne : verticale, de haut en bas.
  • colonne inversée : verticale, de bas en haut.
.container {
    flex-direction: row | row-reverse | column | column-reverse;
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

emballage flexible

Contrôle s'il faut effectuer un retour à la ligne lorsqu'il n'y a pas assez d'espace dans une rangée. Valeurs facultatives :

  • nowrap (par défaut) : pas d'emballage, les éléments peuvent déborder du conteneur.
  • wrap : envelopper, les éléments sont disposés sur plusieurs rangées.
  • wrap-reverse : enveloppe, la première ligne est en bas et les lignes suivantes sont disposées vers le haut.
.container {
    flex-wrap: nowrap | wrap | wrap-reverse;
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

justifier-contenu

Définit l'alignement sur l'axe principal. Valeurs facultatives :

  • flex-start (par défaut) : les éléments sont alignés sur le point de départ.
  • flex-end : les éléments sont alignés sur le point final.
  • centre : les éléments sont alignés au centre.
  • espace entre : répartissez uniformément l'espacement entre les éléments, le premier et le dernier élément sont respectivement attachés aux extrémités du conteneur.
  • Espace autour : répartissez uniformément l'espacement entre les éléments, l'espacement des deux côtés des éléments est égal.
  • Espace uniformément : répartissez uniformément l'espacement entre les éléments, l'espacement entre les éléments et le bord du conteneur et entre les éléments est égal.
.container {
  justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly;
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

aligner les éléments

Définit l'alignement sur l'axe transversal. Valeurs facultatives :

  • étirer (par défaut) : les éléments s'étirent pour remplir tout l'axe transversal.
  • flex-start : les éléments s'alignent sur le début de l'axe transversal.
  • flex-end : les éléments s'alignent sur la fin de l'axe transversal.
  • centre : les éléments sont centrés sur l'axe transversal.
  • baseline : les éléments sont alignés par baseline.
.container {
    align-items: stretch | flex-start | flex-end | center | baseline;
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

aligner le contenu

Fonctionne uniquement dans la disposition Flex multiligne (flex-wrap: wrap), définit l'alignement des éléments multilignes sur l'axe transversal. Valeurs facultatives :

  • étirer (par défaut) : chaque ligne s'étire pour remplir tout l'axe transversal.
  • flex-start : chaque ligne s'aligne sur le début de l'axe transversal.
  • flex-end : chaque ligne s'aligne sur la fin de l'axe transversal.
  • centre : chaque ligne s'aligne au centre de l'axe transversal.
  • Espace entre : répartissez uniformément l'espace entre chaque rangée, et la première et la dernière rangée sont respectivement attachées aux deux extrémités du conteneur.
  • espace autour : répartissez uniformément l'espace entre chaque rangée, et l'espace des deux côtés de la rangée est égal.
.container {
    display: flex;
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

commande

Définit l'ordre des éléments. Plus la valeur est petite, plus l'ordre est élevé. La valeur par défaut est 0.

.container {
    flex-direction: row | row-reverse | column | column-reverse;
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

croissance flexible

Définit le taux d'agrandissement de l'élément. La valeur par défaut est 0, ce qui signifie aucun agrandissement. Si tous les éléments sont définis sur des valeurs non nulles, l'espace restant est distribué proportionnellement.

.container {
    flex-wrap: nowrap | wrap | wrap-reverse;
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

flex-rétrécissement

Définit le taux de retrait de l'article. La valeur par défaut est 1, ce qui signifie qu'il peut être réduit. Si tous les éléments sont définis sur des valeurs non nulles, ils rétrécissent proportionnellement pour éviter le débordement du conteneur.

.container {
  justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly;
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

base flexible

Définit la taille initiale de l'élément avant que l'espace restant ne soit distribué. Accepte les valeurs de longueur, de pourcentage, automatique (par défaut) ou de contenu.

.container {
    align-items: stretch | flex-start | flex-end | center | baseline;
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

fléchir

Raccourci pour flex-grow, flex-shrink et flex-basis. La valeur par défaut est 0 1 auto.

.container {
    align-content: stretch | flex-start | flex-end | center | space-between | space-around;
}
Copier après la connexion
Copier après la connexion

s'aligner

Remplace la propriété align-items du conteneur pour définir l'alignement d'un seul élément sur l'axe transversal. Les valeurs facultatives sont les mêmes que celles des align-items.

.item {
    order: <integer>;
}
Copier après la connexion

Disposition de la grille

affichage : grille ;

Activez le mode de disposition Grille. Définissez un élément comme conteneur de grille et ses enfants directs deviendront des éléments de grille (cellules).

.item {
    flex-grow: <number>; /* Default is 0 */
}
Copier après la connexion

colonnes de modèle de grille et lignes de modèle de grille

Définissez la taille des pistes de colonnes et de lignes de la grille. Accepte la longueur, le pourcentage, fr (unité de fraction, représentant la fraction de l'espace de la grille) ou les valeurs automatiques. Vous pouvez également utiliser la fonction repeat() pour créer des pistes répétées et la fonction minmax() pour définir la taille minimale et maximale de la piste.

.item {
    flex-shrink: <number>; /* defaults to 1 */
}
Copier après la connexion

zones de modèle de grille

Définissez la zone de la disposition de la grille en nommant l'élément et en décrivant la structure de la grille avec une chaîne. Le nom de l'élément utilise . pour représenter une cellule vide.

.item {
    flex-basis: <length> | <percentage> | auto | content;
}
Copier après la connexion

espace de grille ou espace de colonne de grille et espace de ligne de grille

Définissez l'écart entre les éléments de la grille. Accepte la longueur ou la valeur en pourcentage.

.container {
    display: flex;
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

grille-auto-colonnes et grille-auto-lignes

Définissez la taille de la piste des lignes ou colonnes nouvellement ajoutées lors du remplissage automatique de la grille. Prend effet lorsque l'élément dépasse la plage de grille définie.

.container {
    flex-direction: row | row-reverse | column | column-reverse;
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

grille-auto-flux

Contrôle la façon dont les éléments de la grille sont automatiquement remplis et organisés. Valeurs facultatives :

  • ligne (par défaut) : remplir par ligne.
  • colonne : remplir par colonne.
  • dense : lorsqu'une ligne ou une colonne est utilisée avec dense, s'il y a des lacunes dans la grille, de nouveaux éléments tenteront de combler ces lacunes au lieu de simplement les ajouter à la fin de la grille.
.container {
    flex-wrap: nowrap | wrap | wrap-reverse;
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

début de colonne de grille, fin de colonne de grille, début de ligne de grille et fin de ligne de grille

Spécifiez manuellement les positions de début et de fin des éléments dans la grille.

.container {
  justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly;
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

zone de grille

Propriété abrégée permettant de définir simultanément Grid-row-start, Grid-column-start, Grid-row-end et Grid-column-end, ou de référencer le nom de la zone défini dans Grid-template-areas.

.container {
    align-items: stretch | flex-start | flex-end | center | baseline;
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

Grille CSS combinée avec Flexbox

Dans certains cas, nous pouvons combiner les avantages de CSS Grid et Flexbox pour créer des mises en page réactives plus complexes.

.container {
    align-content: stretch | flex-start | flex-end | center | space-between | space-around;
}
Copier après la connexion
Copier après la connexion

Tout d'abord, CSS Grid est utilisé pour créer une disposition en grille avec une largeur de colonne adaptative. Chaque élément de grille (élément enfant) utilise Flexbox à l'intérieur pour centrer verticalement le contenu. Lorsque la largeur de l'écran est inférieure à 768 px, la requête multimédia passe à une disposition en une seule colonne pour s'adapter aux appareils mobiles.

Sélection Flexbox ou Grille

Le choix d'utiliser Flexbox ou Grid dépend généralement de besoins spécifiques :

  • Flexbox convient à la gestion des dispositions unidimensionnelles, telles que la disposition des éléments en lignes ou en colonnes, ainsi que l'alignement et le remplissage des éléments.
  • CSS Grid est plus adapté à la gestion de dispositions bidimensionnelles, telles que des tableaux ou des dispositions de grille complexes, et à un contrôle précis des cellules.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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

<🎜>: Grow A Garden - Guide de mutation complet
3 Il y a quelques semaines By DDD
<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel Java
1670
14
Tutoriel PHP
1274
29
Tutoriel C#
1256
24
Une comparaison des fournisseurs de formulaires statiques Une comparaison des fournisseurs de formulaires statiques Apr 16, 2025 am 11:20 AM

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

Une preuve de concept pour rendre Sass plus rapidement Une preuve de concept pour rendre Sass plus rapidement Apr 16, 2025 am 10:38 AM

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

Actualités hebdomadaires de la plate-forme: attribut HTML Loading, les principales spécifications Aria et le passage de iframe à Shadow Dom Actualités hebdomadaires de la plate-forme: attribut HTML Loading, les principales spécifications Aria et le passage de iframe à Shadow Dom Apr 17, 2025 am 10:55 AM

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

Certains pratiques avec l'élément de dialogue HTML Certains pratiques avec l'élément de dialogue HTML Apr 16, 2025 am 11:33 AM

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

Forme de papier Forme de papier Apr 16, 2025 am 11:24 AM

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

Où devrait «abonner au podcast» vers le lien? Où devrait «abonner au podcast» vers le lien? Apr 16, 2025 pm 12:04 PM

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

Actualités de plate-forme hebdomadaire: bookmarklet d'espacement de texte, attente de haut niveau, nouvel indicateur de chargement d'ampli Actualités de plate-forme hebdomadaire: bookmarklet d'espacement de texte, attente de haut niveau, nouvel indicateur de chargement d'ampli Apr 17, 2025 am 11:26 AM

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

Options pour héberger vos propres analyses non-javascript Options pour héberger vos propres analyses non-javascript Apr 15, 2025 am 11:09 AM

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é

See all articles