2019-05-16

CSS3 Flex布局(伸縮布局盒模型)

CSS3引入了一種新的布局模式——Flexbox布局,即伸縮布局盒(Flexible Box)模型,此布局對于設(shè)計比較復(fù)雜的頁面非常有用,特別是“垂直居中”布局,非常容易實現(xiàn)。

一、Flex布局是什么?

Flex是Flexible Box的縮寫,意為”彈性布局”,用來為盒狀模型提供最大的靈活性。

任何一個容器都可以指定為Flex布局。

三、容器的屬性

以下6個屬性設(shè)置在容器上。

flex-direction

flex-wrap

flex-flow

justify-content

align-items

align-content

CSS3 彈性盒子內(nèi)容

彈性盒子由彈性容器(Flex container)和彈性子元素(Flex item)組成。

彈性容器通過設(shè)置 display 屬性的值為 flex 或 inline-flex將其定義為彈性容器。

彈性容器內(nèi)包含了一個或多個彈性子元素。

注意:?彈性容器外及彈性子元素內(nèi)是正常渲染的。彈性盒子只定義了彈性子元素如何在彈性容器內(nèi)布局。

彈性子元素通常在彈性盒子內(nèi)一行顯示。默認(rèn)情況每個容器只有一行。

以下元素展示了彈性子元素在一行內(nèi)顯示,從左到右:


flex-direction

flex-direction?屬性指定了彈性子元素在父容器中的位置。

語法

flex-direction: row | row-reverse | column | column-reverse

flex-direction的值有:

row:橫向從左到右排列(左對齊),默認(rèn)的排列方式。

row-reverse:反轉(zhuǎn)橫向排列(右對齊,從后往前排,最后一項排在最前面。

column:縱向排列。

column-reverse:反轉(zhuǎn)縱向排列,從后往前排,最后一項排在最上面。

justify-content 屬性

內(nèi)容對齊(justify-content)屬性應(yīng)用在彈性容器上,把彈性項沿著彈性容器的主軸線(main axis)對齊。

justify-content 語法如下:

justify-content: flex-start | flex-end | center | space-between | space-around

align-items 屬性

align-items?設(shè)置或檢索彈性盒子元素在側(cè)軸(縱軸)方向上的對齊方式。

語法

align-items: flex-start | flex-end | center | baseline | stretch

flex-wrap 屬性

flex-wrap?屬性用于指定彈性盒子的子元素?fù)Q行方式。

語法

flex-wrap: nowrap|wrap|wrap-reverse|initial|inherit;

各個值解析:

nowrap?- 默認(rèn), 彈性容器為單行。該情況下彈性子項可能會溢出容器。

wrap?- 彈性容器為多行。該情況下彈性子項溢出的部分會被放置到新行,子項內(nèi)部會發(fā)生斷行

wrap-reverse?-反轉(zhuǎn) wrap 排列。

align-content 屬性

align-content?屬性用于修改?flex-wrap?屬性的行為。類似于?align-items, 但它不是設(shè)置彈性子元素的對齊,而是設(shè)置各個行的對齊。

語法

align-content: flex-start | flex-end | center | space-between | space-around | stretch

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容