Maison interface Web tutoriel CSS Explication détaillée de la façon dont CSS3 implémente une mise en page flexible

Explication détaillée de la façon dont CSS3 implémente une mise en page flexible

Jul 11, 2020 pm 04:33 PM
css3 flexbox 弹性布局

Explication détaillée de la façon dont CSS3 implémente une mise en page flexible

1. Boîte flexible CSS3

La boîte flexible est un nouveau mode de mise en page de CSS3.

CSS3 Flexible Box (Flexible Box ou flexbox) est une méthode de mise en page qui garantit que les éléments ont un comportement approprié lorsque la page doit s'adapter à différentes tailles d'écran et types d'appareils.

Le but de l'introduction du modèle de disposition flexbox est de fournir un moyen plus efficace d'organiser, d'aligner et d'attribuer un espace vide aux sous-éléments d'un conteneur.

2. Prise en charge du navigateur

Le numéro dans le tableau indique le numéro de version du premier navigateur qui prend en charge cet attribut.

Le -webkit- ou -moz- qui suit immédiatement le numéro est le préfixe du navigateur spécifié.

属性 Explication détaillée de la façon dont CSS3 implémente une mise en page flexible Explication détaillée de la façon dont CSS3 implémente une mise en page flexible Explication détaillée de la façon dont CSS3 implémente une mise en page flexible Explication détaillée de la façon dont CSS3 implémente une mise en page flexible Explication détaillée de la façon dont CSS3 implémente une mise en page flexible
Basic support (single-line flexbox) 29.0 21.0 -webkit- 11.0 22.0 18.0 -moz- 6.1 -webkit- 12.1 -webkit-
Multi-line flexbox 29.0 21.0 -webkit- 11.0 28.0 6.1 -webkit- 17.0 15.0 -webkit- 12.1

3. Contenu de la boîte flexible CSS3

La boîte flexible se compose d'un conteneur Flex et d'une composition d'éléments Flex.

Un conteneur flexible est défini comme un conteneur flexible en définissant la valeur de la propriété display sur flex ou inline-flex.

Un conteneur flex contient un ou plusieurs éléments enfants flex.

Remarque : L'extérieur du conteneur flexible et l'intérieur du sous-élément flexible sont rendus normalement. La zone flex définit uniquement la façon dont les éléments enfants flex sont disposés dans le conteneur flex.

Les éléments enfants flexibles sont généralement affichés dans une rangée à l'intérieur de la flexbox. Par défaut, il n'y a qu'une seule ligne par conteneur.

Les éléments suivants montrent les éléments enfants élastiques affichés dans une rangée, de gauche à droite :

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>FLEX</title>
    <style>
        .flex-container {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            width: 1200px;
            height: 640px;
            background-color: lightsteelblue;
        }
        .flex-container .flex-item {
            width: 320px;
            height: 240px;
            margin: 10px;
            background-color:lightsalmon;
        }
    </style>
</head>
<body>
    <div>
        <div></div>
        <div></div>
        <div></div>
    </div>
</body>
</html>
Copier après la connexion

Explication détaillée de la façon dont CSS3 implémente une mise en page flexible

4. CSS3 Flexible Box Attributs communs

属性描述
flex-direction指定弹性容器中子元素排列方式
flex-wrap设置弹性盒子的子元素超出父容器时是否换行
flex-flowflex-direction 和 flex-wrap 的简写
align-items设置弹性盒子元素在侧轴(纵轴)方向上的对齐方式
align-content修改 flex-wrap 属性的行为,类似 align-items, 但不是设置子元素对齐,而是设置行对齐
justify-content设置弹性盒子元素在主轴(横轴)方向上的对齐方式

1. flex-direction 属性

决定项目的方向。

注意:如果元素不是弹性盒对象的元素,则 flex-direction 属性不起作用。

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

Explication détaillée de la façon dont CSS3 implémente une mise en page flexible

属性值

描述
row默认值。元素将水平显示,正如一个行一样。
row-reverse与 row 相同,但是以相反的顺序。
column元素将垂直显示,正如一个列一样。
column-reverse与 column 相同,但是以相反的顺序。

2. flex-wrap 属性

flex-wrap 属性规定flex容器是单行或者多行,同时横轴的方向决定了新行堆叠的方向。

描述
nowrap默认值。规定元素不拆行或不拆列。
wrap规定元素在必要的时候拆行或拆列。
wrap-reverse规定元素在必要的时候拆行或拆列,但是以相反的顺序。
.flex-container { flex-wrap: nowrap | wrap | wrap-reverse; }
Copier après la connexion

可以取三个值:

(1) nowrap (默认):不换行。

Explication détaillée de la façon dont CSS3 implémente une mise en page flexible

(2)wrap:换行,第一行在上方。

Explication détaillée de la façon dont CSS3 implémente une mise en page flexible

(3)wrap-reverse:换行,第一行在下方。

Explication détaillée de la façon dont CSS3 implémente une mise en page flexible

3. flex-flow 属性

flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。

.flex-container { flex-flow: <flex-direction> <flex-wrap> }
Copier après la connexion

4. align-items属性

align-items 属性定义flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式。

描述
stretch默认值。项目被拉伸以适应容器。
center项目位于容器的中心。
flex-start项目位于容器的开头。
flex-end项目位于容器的结尾。
baseline项目位于容器的基线上。

1Explication détaillée de la façon dont CSS3 implémente une mise en page flexible

5. justify-content属性

justify-content 用于设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式。

描述
flex-start默认值。项目位于容器的开头。
flex-end项目位于容器的结尾。
center项目位于容器的中心。
space-between项目位于各行之间留有空白的容器内。
space-around项目位于各行之前、之间、之后都留有空白的容器内。

1Explication détaillée de la façon dont CSS3 implémente une mise en page flexible

五、弹性子元素属性

属性描述
order设置弹性盒子的子元素排列顺序。
flex-grow设置或检索弹性盒子元素的扩展比率。
flex-shrink指定了 flex 元素的收缩规则。flex 元素仅在默认宽度之和大于容器的时候才会发生收缩,其收缩的大小是依据 flex-shrink 的值。
flex-basis用于设置或检索弹性盒伸缩基准值。
flex设置弹性盒子的子元素如何分配空间。
align-self在弹性子元素上使用。覆盖容器的 align-items 属性。

1. order属性

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

:用整数值来定义排列顺序,数值小的排在前面。可以为负值,默认为0。

1Explication détaillée de la façon dont CSS3 implémente une mise en page flexible

2. flex-grow属性

.flex-container .flex-item { flex-grow: <integer>; }
Copier après la connexion

:一个数字,规定项目将相对于其他灵活的项目进行扩展的量。默认值是 0。

1Explication détaillée de la façon dont CSS3 implémente une mise en page flexible

3. flex-shrink属性

.flex-container .flex-item { flex-shrink: <integer>; }
Copier après la connexion

:一个数字,规定项目将相对于其他灵活的项目进行收缩的量。默认值是 1。

1Explication détaillée de la façon dont CSS3 implémente une mise en page flexible

4. flex-basis属性

.flex-container .flex-item { flex-basis: <integer> | auto; }
Copier après la connexion

:一个长度单位或者一个百分比,规定元素的初始长度。

auto:默认值。长度等于元素的长度。如果该项目未指定长度,则长度将根据内容决定。

5. flex属性

flex 属性用于设置或检索弹性盒模型对象的子元素如何分配空间。

flex 属性是 flex-grow、flex-shrink 和 flex-basis 属性的简写属性。

.flex-container .flex-item {
flex:flex-grow flex-shrink flex-basis|auto|initial|inherit;
}
Copier après la connexion
描述
flex-grow一个数字,规定项目将相对于其他元素进行扩展的量。
flex-shrink一个数字,规定项目将相对于其他元素进行收缩的量。
flex-basis项目的长度。合法值:"auto"、"inherit" 或一个后跟 "%"、"px"、"em" 或任何其他长度单位的数字。
auto与 1 1 auto 相同。
none与 0 0 auto 相同。
initial设置该属性为它的默认值,即为 0 1 auto。
inherit从父元素继承该属性。

6. align-self属性

.flex-container .flex-item {
align-self: auto|stretch|center|flex-start|flex-end|baseline|initial|inherit;
}
Copier après la connexion
描述
auto 默认值。元素继承了它的父容器的 align-items 属性。如果没有父容器则为 "stretch"。
stretch 元素被拉伸以适应容器。
center 元素位于容器的中心。
flex-start 元素位于容器的开头。
flex-end 元素位于容器的结尾。
baseline 元素位于容器的基线上。
initial 设置该属性为它的默认值。
inherit 从父元素继承该属性。

1Explication détaillée de la façon dont CSS3 implémente une mise en page flexible

取值同 align-items。

参考

本文转载自:https://www.jianshu.com/p/5856c4ae91f2

相关推荐:CSS视频教程

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois 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)

Conseils d'optimisation des propriétés de mise en page CSS : position collante et flexbox Conseils d'optimisation des propriétés de mise en page CSS : position collante et flexbox Oct 20, 2023 pm 03:15 PM

Conseils d'optimisation des attributs de mise en page CSS : positionsticky et flexbox Dans le développement Web, la mise en page est un aspect très important. Une bonne structure de mise en page peut améliorer l’expérience utilisateur et rendre la page plus belle et plus facile à naviguer. Les propriétés de mise en page CSS sont la clé pour atteindre cet objectif. Dans cet article, je présenterai deux techniques d'optimisation des propriétés de mise en page CSS couramment utilisées : positionsticky et flexbox, et je fournirai des exemples de code spécifiques. 1. Postes

Compétences d'application flexibles de l'attribut de poste en H5 Compétences d'application flexibles de l'attribut de poste en H5 Dec 27, 2023 pm 01:05 PM

Comment utiliser de manière flexible l'attribut position dans H5. Dans le développement H5, le positionnement et la disposition des éléments sont souvent impliqués. A ce moment, la propriété CSS position entrera en jeu. L'attribut position peut contrôler le positionnement des éléments sur la page, y compris le positionnement relatif (relatif), le positionnement absolu (absolu), le positionnement fixe (fixe) et le positionnement collant (collant). Cet article présentera en détail comment utiliser de manière flexible l'attribut position dans le développement H5.

Comment centrer un div en HTML Comment centrer un div en HTML Apr 05, 2024 am 09:00 AM

Il existe deux manières de centrer un div en HTML : Utilisez l'attribut text-align (text-align: center) : pour des mises en page plus simples. Utiliser une mise en page flexible (Flexbox) : fournir un contrôle de mise en page plus flexible. Les étapes comprennent : l'activation de Flexbox (affichage : flex) dans l'élément parent. Définissez le div comme élément Flex (flex : 1). Utilisez les propriétés align-items et justifier-content pour le centrage vertical et horizontal.

Comment utiliser la disposition CSS Flex pour obtenir une disposition de colonnes de même hauteur Comment utiliser la disposition CSS Flex pour obtenir une disposition de colonnes de même hauteur Sep 27, 2023 pm 03:17 PM

Comment utiliser CSS Flexible Layout pour implémenter une disposition de colonnes de hauteur égale CSS Flexible Box Layout (CSS FlexibleBox Layout), appelé mise en page Flex, est un module utilisé pour la mise en page. La disposition flexible nous permet de mettre en œuvre plus facilement des dispositions de colonnes de même hauteur, afin qu'elles puissent être affichées à des hauteurs égales quelle que soit la hauteur du contenu. Dans cet article, nous expliquerons comment utiliser la disposition CSSFlex pour obtenir une disposition de colonnes de hauteur égale. Vous trouverez ci-dessous des exemples de code spécifiques. Structure HTML : &

Comment implémenter une disposition de grille irrégulière via la disposition CSS Flex Comment implémenter une disposition de grille irrégulière via la disposition CSS Flex Sep 28, 2023 pm 09:49 PM

Comment implémenter une disposition de grille irrégulière via la disposition élastique CSSFlex. Dans la conception Web, il est souvent nécessaire d'utiliser la disposition en grille pour obtenir la segmentation et la mise en page des pages. Habituellement, la disposition en grille est régulière et chaque grille a la même taille. Parfois, nous devrons peut-être l'implémenter. une disposition de grille irrégulière. La mise en page élastique CSSFlex est une méthode de mise en page puissante qui peut facilement implémenter diverses mises en page de grille, y compris des mises en page de grille irrégulières. Ci-dessous, nous présenterons comment utiliser la disposition élastique CSSFlex pour obtenir différents

Un guide des propriétés de mise en page flexibles CSS : position sticky et flexbox Un guide des propriétés de mise en page flexibles CSS : position sticky et flexbox Oct 27, 2023 am 10:06 AM

Un guide des propriétés de mise en page flexible CSS : positionsticky et flexbox La mise en page flexible est devenue une technique très populaire et utile dans la conception Web moderne. Cela peut nous aider à créer des mises en page Web adaptatives afin que les pages Web puissent s'afficher et répondre correctement sur différents appareils et tailles d'écran. Cet article se concentrera sur deux propriétés de mise en page flexibles : position:sticky et flexbox. Nous discuterons de leur utilisation en détail, avec des exemples de code concrets

Tutoriel HTML : Comment utiliser Flexbox pour une mise en page adaptative à hauteur égale, largeur égale et espacement égal Tutoriel HTML : Comment utiliser Flexbox pour une mise en page adaptative à hauteur égale, largeur égale et espacement égal Oct 27, 2023 pm 05:51 PM

Tutoriel HTML : Comment utiliser Flexbox pour une mise en page adaptative à hauteur égale, largeur égale et espacement égal, des exemples de code spécifiques sont nécessaires Introduction : Dans la conception Web moderne, la mise en page est un facteur très critique. Pour les pages qui doivent afficher une grande quantité de contenu, la manière d’organiser raisonnablement la position et la taille des éléments pour obtenir une bonne visibilité et une facilité d’utilisation est une question importante. Flexbox (Flexible Box Layout) est un outil très puissant grâce auquel divers besoins de mise en page flexibles peuvent être facilement réalisés. Cet article présentera Flexbox en détail

Comment utiliser la mise en page CSS Flex pour implémenter la mise en page du flux en cascade Comment utiliser la mise en page CSS Flex pour implémenter la mise en page du flux en cascade Sep 27, 2023 pm 04:22 PM

Comment utiliser la mise en page élastique CSSFlex pour implémenter la mise en page de flux en cascade Avec le développement continu de la conception Web, la mise en page de flux en cascade est devenue une méthode de mise en page très populaire. Contrairement à la disposition en grille traditionnelle, la disposition du flux en cascade peut s'adapter à la taille de l'écran et présente une sensation de flux unique. Dans cet article, nous présenterons comment utiliser la disposition élastique CSSFlex pour implémenter la disposition de flux en cascade et fournirons des exemples de code spécifiques. La mise en page élastique CSSFlex est un modèle de mise en page puissant qui applique di

See all articles