Maison  >  Article  >  interface Web  >  Explication détaillée de la mise en page flexible CSS Flex et de ses techniques d'application

Explication détaillée de la mise en page flexible CSS Flex et de ses techniques d'application

PHPz
PHPzoriginal
2023-09-27 14:36:341520parcourir

详解Css Flex 弹性布局及其应用技巧

Explication détaillée de la mise en page élastique CSS Flex et de ses techniques d'application

Introduction :
La mise en page flexible (Flex) est un nouveau modèle de mise en page introduit dans CSS3, qui permet aux sous-éléments d'un conteneur d'ajuster automatiquement leur taille et leur position à convient à différentes tailles de conteneurs. Utilisez la mise en page Flex pour mettre en œuvre rapidement des mises en page Web complexes avec une bonne réactivité.

1. Concepts de base de la mise en page Flex
La mise en page Flex se compose d'un conteneur et d'éléments enfants. Le conteneur est un élément avec l'attribut display:flex ou display:inline-flex, et les éléments enfants sont appelés éléments Flex.

1.1 Propriétés du conteneur
Les conteneurs contrôlent la disposition des éléments Flex via certaines propriétés couramment utilisées :

  • flex-direction : définit la direction de l'axe principal, qui peut être une ligne (direction horizontale), une colonne (direction verticale). ), ligne inversée (inverse horizontalement), colonne inversée (inverse verticalement).
  • flex-wrap : Comment envelopper, cela peut être nowrap (pas de line wrap), wrap (line wrap), wrap-reverse (line wrap et reverse).
  • justify-content : méthode d'alignement sur l'axe principal, qui peut être flex-start (alignement de départ), flex-end (alignement de fin), center (alignement au centre), espace entre (alignement aux deux extrémités, intervalles égaux entre éléments) ), espace autour (espacement égal des deux côtés de chaque élément).
  • align-items : alignement sur l'axe transversal, qui peut être flex-start (alignement de départ), flex-end (alignement de fin), center (alignement au centre), ligne de base (alignement de la ligne de base), étirement (étiré pour remplir le conteneur ).
  • align-content : Dans le cas de plusieurs lignes, l'alignement de chaque ligne sur l'axe transversal peut être flex-start (alignement de début), flex-end (alignement de fin), center (alignement au centre), espace entre ( deux alignés aux extrémités, avec un espacement égal entre les rangées), espace autour (espacement égal des deux côtés de chaque rangée), étirement (étiré pour remplir le conteneur).

1.2 Propriétés des éléments Flex
Les éléments Flex contrôlent leur propre disposition grâce à certaines propriétés couramment utilisées :

  • flex-grow : Spécifiez le taux de grossissement de l'élément. La valeur par défaut est 0, ce qui signifie aucun grossissement.
  • flex-shrink : Spécifiez le taux de rétrécissement de l'élément, la valeur par défaut est 1, c'est-à-dire que s'il n'y a pas suffisamment d'espace, l'élément rétrécira.
  • flex-basis : définit l'espace de l'axe principal occupé par l'élément avant d'allouer l'espace excédentaire.
  • flex : est l'abréviation de flex-grow, flex-shrink et flex-basis. La valeur par défaut est 0 1 auto.
  • align-self : permet à un seul élément d'être aligné différemment des autres éléments sur l'axe transversal.

2. Compétences d'application de la mise en page Flex
La mise en page Flex possède de nombreuses compétences qui peuvent nous aider à mieux gérer la mise en page dans les applications pratiques. Voici quelques compétences d'application courantes.

2.1 Disposition à hauteur égale
En utilisant la disposition Flex, vous pouvez facilement implémenter une disposition à hauteur égale. Il vous suffit de définir align-items: stretch sur le conteneur pour que tous les éléments Flex occupent la même hauteur sur l'axe transversal.

Exemple de code :

.container {
  display: flex;
  align-items: stretch;
}

2.2 Centrage horizontal
Pour obtenir un alignement central horizontal, définissez simplement justifier-contenu : centrer sur le conteneur.

Exemple de code :

.container {
  display: flex;
  justify-content: center;
}

2.3 Centrage vertical
Pour obtenir un alignement central vertical, définissez simplement align-items : center sur le conteneur.

Exemple de code :

.container {
  display: flex;
  align-items: center;
}

2.4 Colonnes adaptatives gauche et droite
La largeur de la colonne de gauche est fixe et la colonne de droite est adaptative en fonction de la largeur restante du conteneur.

Exemple de code :

.container {
  display: flex;
}

.left {
  flex: 0 0 200px; /* 左栏宽度为200px */
}

.right {
  flex: 1; /* 右栏自适应宽度 */
}

2.5 Ajustement de la commande
La disposition Flex permet d'ajuster l'ordre des articles Flex via l'attribut de commande.

Exemple de code :

.container {
  display: flex;
}

.first {
  order: 2; /* 放到第二位 */
}

.second {
  order: 1; /* 放到第一位 */
}

Conclusion :
En utilisant de manière flexible les propriétés et les techniques de la mise en page Flex, nous pouvons facilement implémenter diverses mises en page Web complexes avec une bonne réactivité. La maîtrise de la mise en page Flex améliorera considérablement nos capacités de mise en page CSS.

Résumé :
Cet article présente en détail les concepts de base et les propriétés communes de la mise en page élastique CSS Flex, et partage également certaines compétences d'application communes. Nous espérons que l'introduction de cet article pourra aider les lecteurs à mieux comprendre et utiliser la mise en page Flex et à améliorer l'efficacité de la mise en page des pages Web et l'efficacité du développement.

Références :

  • CSS Tricks - Un guide complet de Flexbox : https://css-tricks.com/snippets/css/a-guide-to-flexbox/
  • MDN Web Docs - Flexbox : https:// /developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox

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:
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