第 29 章 CSS3 弹性伸缩布局[下] - 水之原
学习要点:
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>; }
属性 |
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>; }
属性值 |
说明 |
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>; }
属性值 |
说明 |
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>; }
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>; }
属性值 |
说明 |
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>; }
属性值 |
说明 |
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>; }
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>; }
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>; }

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



HTML ist für Anfänger geeignet, da es einfach und leicht zu lernen ist und schnell Ergebnisse sehen kann. 1) Die Lernkurve von HTML ist glatt und leicht zu beginnen. 2) Beherrschen Sie einfach die grundlegenden Tags, um Webseiten zu erstellen. 3) hohe Flexibilität und kann in Kombination mit CSS und JavaScript verwendet werden. 4) Reiche Lernressourcen und moderne Tools unterstützen den Lernprozess.

HTML definiert die Webstruktur, CSS ist für Stil und Layout verantwortlich, und JavaScript ergibt eine dynamische Interaktion. Die drei erfüllen ihre Aufgaben in der Webentwicklung und erstellen gemeinsam eine farbenfrohe Website.

AnexampleofaTartingTaginHtmlis, die, die starttagsaresesinginhtmlastheyinitiateElements, definetheirtypes, andarecrucialForstructuringwebpages und -konstruktionsthedoms.

WebdevelopmentRelieSonHtml, CSS und JavaScript: 1) HtmlStructuresContent, 2) CSSstylesit und 3) JavaScriptaddssinteraktivität, Bildung von TheBasisofModerernwebexperiences.

GitePages statische Website -Bereitstellung fehlgeschlagen: 404 Fehlerbehebung und Auflösung bei der Verwendung von Gitee ...

Der ad-axis-Position adaptive Algorithmus für Webanmerkungen In diesem Artikel wird untersucht, wie Annotationsfunktionen ähnlich wie Word-Dokumente implementiert werden, insbesondere wie man mit dem Intervall zwischen Anmerkungen umgeht ...

Um den Effekt der Streuung und Vergrößerung der umgebenden Bilder nach dem Klicken auf das Bild zu erreichen, müssen viele Webdesigns einen interaktiven Effekt erzielen: Klicken Sie auf ein bestimmtes Bild, um die Umgebung zu machen ...

Die Notwendigkeit der Registrierung von Vuerouter in der Datei index.js -Datei im Ordner Router Bei der Entwicklung von VUE -Anwendungen stoßen Sie häufig Probleme mit der Routing -Konfiguration. Besonders...
