Maison interface Web tutoriel HTML 第 29 章 CSS3 弹性伸缩布局[下] - 水之原

第 29 章 CSS3 弹性伸缩布局[下] - 水之原

May 20, 2016 pm 01:49 PM

学习要点:

1.新版本

 

主讲教师:李炎恢

 

本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解。

 

一.新版本

新版本的 Flexbox 模型是 2012 年 9 月提出的工作草案,这个草案是由 W3C 推出的最新语法。这个版本立志于指定标准,让新式的浏览器全面兼容,在未来浏览器的更新换代中实现了统一。

首先,设置伸缩盒的 display 有如下两个属性值:

属性值

说明

flex

将容器盒模型作为块级弹性伸缩盒显示(新版本)

inline-flex

将容器盒模型作为内联级弹性伸缩盒显示(新版本)

//大部分不需要前缀

<span style="color: #800000;">div </span>{<span style="color: #ff0000;">
    display</span>:<span style="color: #0000ff;"> flex</span>;
}
Copier après la connexion

属性

IE

Firefox

Chrome

Opera

Safari

带前缀

21 ~ 28

7.0

不带前缀

11+

20+

29+

12.1

 从这张表可以看出,只有 webkit 引擎的浏览器 Chrome 和 Safari 的版本需要添加-webkit-,而 Chrome 浏览器 29 版本以后可以省略了。

1.flex-direction

flex-direction 属性和旧版本 box-orient 属性一样,都是设置伸缩项目的排列方式。

//设置从上往下排列 

<span style="color: #800000;">div </span>{<span style="color: #ff0000;">
    flex-direction</span>:<span style="color: #0000ff;"> column</span>;
}
Copier après la connexion

属性值

说明

row

设置从左到右排列

row-reverse

设置从右到左排列

column

设置从上到下排列

column-reverse

设置从下到上排列

2.flex-wrap

flex-wrap 属性类似与旧版本中的 box-lines,但是 box-lines 我们没有讲解,原因是没有浏览器支持它。

//设置无法容纳时,自动换行 

<span style="color: #800000;">div </span>{<span style="color: #ff0000;">
    -ms-flex-wrap</span>:<span style="color: #0000ff;"> wrap</span>;
}
Copier après la connexion

属性值

说明

nowrap

默认值,都在一行或一列显示

wrap

伸缩项目无法容纳时,自动换行

wrap-reverse

伸缩项目无法容纳时,自动换行,方向和 wrap 相反

3.flex-flow

flex-flow 属性是集合了排列方向和控制换行的简写形式。

//简写形式

<span style="color: #800000;">div </span>{<span style="color: #ff0000;">
    flex-flow</span>:<span style="color: #0000ff;"> row wrap</span>;
}
Copier après la connexion

4.justify-content

justify-content 属性和旧版本中的 box-pack 一样,设置伸缩项目的对其方式。

//按照中心点对齐 

<span style="color: #800000;">div </span>{<span style="color: #ff0000;">
    justify-content</span>:<span style="color: #0000ff;"> space-around</span>;
}
Copier après la connexion

属性值

说明

flex-start

伸缩项目以起始点靠齐

flex-end

伸缩项目以结束点靠齐

center

伸缩项目以中心点靠齐

space-between

伸缩项目平局分布

space-around

同上,但两端保留一半的空间

5.align-items

align-items 属性和旧版本中的 box-align 一样,处理伸缩项目容器的额外空间。

//处理额外空间 

<span style="color: #800000;">div </span>{<span style="color: #ff0000;">
    align-itmes</span>:<span style="color: #0000ff;"> center</span>;
}
Copier après la connexion

属性值

说明

flex-start

伸缩项目以顶部为基准,清理下部额外空间

flex-end

伸缩项目以底部为基准,清理上部额外空间

center

伸缩项目以中部为基准,平均清理上下部额外空间

baseline

伸缩项目以基线为基准,清理额外的空间

stretch

伸缩项目填充整个容器,默认

6.align-self

align-self 和 align-items 一样,都是清理额外空间,但它是单独设置某一个伸缩项目的。所有的值和 align-itmes 一致。

//单独设置清理额外空间

<span style="color: #800000;">p:nth-child(2) </span>{<span style="color: #ff0000;">
    align-self</span>:<span style="color: #0000ff;"> center</span>;
}
Copier après la connexion

7.flex

flex 属性和旧版本中的 box-flex 类似,用来控制伸缩容器的比例分配。

//设置比例分配 

<span style="color: #800000;">p:nth-child(1) </span>{<span style="color: #ff0000;">
    flex</span>:<span style="color: #0000ff;"> 1</span>;
}<span style="color: #800000;">

p:nth-child(2) </span>{<span style="color: #ff0000;">
    flex</span>:<span style="color: #0000ff;"> 3</span>;
}<span style="color: #800000;">

p:nth-child(3) </span>{<span style="color: #ff0000;">
    flex</span>:<span style="color: #0000ff;"> 1</span>;
}
Copier après la connexion

8.order

order 属性和 box-ordinal-group 属性一样控制伸缩项目出现的顺序。

//设置伸缩项目顺序

<span style="color: #800000;">p:nth-child(1) </span>{<span style="color: #ff0000;">
    order</span>:<span style="color: #0000ff;"> 2</span>;
}<span style="color: #800000;">

p:nth-child(2) </span>{<span style="color: #ff0000;">
    order</span>:<span style="color: #0000ff;"> 3</span>;
}<span style="color: #800000;">

p:nth-child(3) </span>{<span style="color: #ff0000;">
    order</span>:<span style="color: #0000ff;"> 1</span>;
}
Copier après la connexion
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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

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)

Difficulté à mettre à jour la mise en cache des pages Web officielles du compte: comment éviter l'ancien cache affectant l'expérience utilisateur après la mise à jour de la version? Difficulté à mettre à jour la mise en cache des pages Web officielles du compte: comment éviter l'ancien cache affectant l'expérience utilisateur après la mise à jour de la version? Mar 04, 2025 pm 12:32 PM

Le cache de mise à jour de la page Web du compte officiel, cette chose est simple et simple, et elle est suffisamment compliquée pour en boire un pot. Vous avez travaillé dur pour mettre à jour l'article officiel du compte, mais l'utilisateur a toujours ouvert l'ancienne version. Dans cet article, jetons un coup d'œil aux rebondissements derrière cela et comment résoudre ce problème gracieusement. Après l'avoir lu, vous pouvez facilement faire face à divers problèmes de mise en cache, permettant à vos utilisateurs de toujours ressentir le contenu le plus frais. Parlons d'abord des bases. Pour le dire franchement, afin d'améliorer la vitesse d'accès, le navigateur ou le serveur stocke des ressources statiques (telles que des images, CSS, JS) ou du contenu de la page. La prochaine fois que vous y accédez, vous pouvez le récupérer directement à partir du cache sans avoir à le télécharger à nouveau, et il est naturellement rapide. Mais cette chose est aussi une épée à double tranchant. La nouvelle version est en ligne,

Comment utiliser les attributs de validation du formulaire HTML5 pour valider l'entrée utilisateur? Comment utiliser les attributs de validation du formulaire HTML5 pour valider l'entrée utilisateur? Mar 17, 2025 pm 12:27 PM

L'article discute de l'utilisation des attributs de validation de formulaire HTML5 comme les limites requises, motifs, min, max et longueurs pour valider la saisie de l'utilisateur directement dans le navigateur.

Comment ajouter efficacement les effets de course aux images PNG sur les pages Web? Comment ajouter efficacement les effets de course aux images PNG sur les pages Web? Mar 04, 2025 pm 02:39 PM

Cet article démontre un ajout de bordure PNG efficace aux pages Web à l'aide de CSS. Il soutient que CSS offre des performances supérieures par rapport à JavaScript ou à des bibliothèques, détaillant comment ajuster la largeur, le style et la couleur des bordures pour un effet subtil ou proéminent

Quelles sont les meilleures pratiques pour la compatibilité entre les navigateurs dans HTML5? Quelles sont les meilleures pratiques pour la compatibilité entre les navigateurs dans HTML5? Mar 17, 2025 pm 12:20 PM

L'article examine les meilleures pratiques pour assurer la compatibilité des navigateurs de HTML5, en se concentrant sur la détection des fonctionnalités, l'amélioration progressive et les méthodes de test.

Quel est le but du & lt; datalist & gt; élément? Quel est le but du & lt; datalist & gt; élément? Mar 21, 2025 pm 12:33 PM

L'article traite du HTML & lt; Datalist & GT; élément, qui améliore les formulaires en fournissant des suggestions de saisie semi-automatique, en améliorant l'expérience utilisateur et en réduisant les erreurs. COMMANDE COMPRES: 159

Quel est le but du & lt; mètre & gt; élément? Quel est le but du & lt; mètre & gt; élément? Mar 21, 2025 pm 12:35 PM

L'article traite du HTML & lt; mètre & gt; élément, utilisé pour afficher des valeurs scalaires ou fractionnaires dans une plage, et ses applications courantes dans le développement Web. Il différencie & lt; mètre & gt; De & lt; Progress & gt; et ex

Quel est le but du & lt; Progress & gt; élément? Quel est le but du & lt; Progress & gt; élément? Mar 21, 2025 pm 12:34 PM

L'article traite du HTML & lt; Progress & GT; élément, son but, son style et ses différences par rapport au & lt; mètre & gt; élément. L'objectif principal est de l'utiliser & lt; Progress & gt; pour l'achèvement des tâches et & lt; mètre & gt; pour stati

Comment utiliser le html5 & lt; time & gt; élément pour représenter les dates et les temps sémantiquement? Comment utiliser le html5 & lt; time & gt; élément pour représenter les dates et les temps sémantiquement? Mar 12, 2025 pm 04:05 PM

Cet article explique le html5 & lt; time & gt; élément de représentation sémantique de date / heure. Il souligne l'importance de l'attribut DateTime pour la lisibilité à la machine (format ISO 8601) à côté du texte lisible par l'homme, stimulant AccessIbilit

See all articles