display:flex 詳解

彈性盒子是 CSS3 的一種新的布局模式

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

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

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

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

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

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

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

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

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

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

6.?align-self?屬性用于設(shè)置彈性元素自身在側(cè)軸(縱軸)方向上的對(duì)齊方式。

align-self: auto | flex-start | flex-end | center | baseline | stretch

display:flex詳解

(1)flex-direction的值有:

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

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

column:縱向排列。

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

(2)justify-content 屬性

flex-start:

彈性項(xiàng)目向行頭緊挨著填充。這個(gè)是默認(rèn)值。第一個(gè)彈性項(xiàng)的main-start外邊距邊線被放置在該行的main-start邊線,而后續(xù)彈性項(xiàng)依次平齊擺放。

flex-end:

彈性項(xiàng)目向行尾緊挨著填充。第一個(gè)彈性項(xiàng)的main-end外邊距邊線被放置在該行的main-end邊線,而后續(xù)彈性項(xiàng)依次平齊擺放。

center:

彈性項(xiàng)目居中緊挨著填充。(如果剩余的自由空間是負(fù)的,則彈性項(xiàng)目將在兩個(gè)方向上同時(shí)溢出)。

space-between:

彈性項(xiàng)目平均分布在該行上。如果剩余空間為負(fù)或者只有一個(gè)彈性項(xiàng),則該值等同于flex-start。否則,第1個(gè)彈性項(xiàng)的外邊距和行的main-start邊線對(duì)齊,而最后1個(gè)彈性項(xiàng)的外邊距和行的main-end邊線對(duì)齊,然后剩余的彈性項(xiàng)分布在該行上,相鄰項(xiàng)目的間隔相等。

space-around:

彈性項(xiàng)目平均分布在該行上,兩邊留有一半的間隔空間。如果剩余空間為負(fù)或者只有一個(gè)彈性項(xiàng),則該值等同于center。否則,彈性項(xiàng)目沿該行分布,且彼此間隔相等(比如是20px),同時(shí)首尾兩邊和彈性容器之間留有一半的間隔(1/2*20px=10px)。

(3)align-items 屬性

flex-start:彈性盒子元素的側(cè)軸(縱軸)起始位置的邊界緊靠住該行的側(cè)軸起始邊界。

flex-end:彈性盒子元素的側(cè)軸(縱軸)起始位置的邊界緊靠住該行的側(cè)軸結(jié)束邊界。

center:彈性盒子元素在該行的側(cè)軸(縱軸)上居中放置。(如果該行的尺寸小于彈性盒子元素的尺寸,則會(huì)向兩個(gè)方向溢出相同的長(zhǎng)度)。

baseline:如彈性盒子元素的行內(nèi)軸與側(cè)軸為同一條,則該值與’flex-start’等效。其它情況下,該值將參與基線對(duì)齊。

(4)flex-wrap 屬性

stretch:如果指定側(cè)軸大小的屬性值為’auto’,則其值會(huì)使項(xiàng)目的邊距盒的尺寸盡可能接近所在行的尺寸,但同時(shí)會(huì)遵照’min/max-width/height’屬性的限制。

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

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

(5)align-content 屬性

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

stretch?- 默認(rèn)。各行將會(huì)伸展以占用剩余的空間。

flex-start?- 各行向彈性盒容器的起始位置堆疊。

flex-end?- 各行向彈性盒容器的結(jié)束位置堆疊。

center?-各行向彈性盒容器的中間位置堆疊。

space-between?-各行在彈性盒容器中平均分布。

space-around?- 各行在彈性盒容器中平均分布,兩端保留子元素與子元素之間間距大小的一半。

(6)align-self屬性

auto:如果’align-self’的值為’auto’,則其計(jì)算值為元素的父元素的’align-items’值,如果其沒有父元素,則計(jì)算值為’stretch’。

flex-start:彈性盒子元素的側(cè)軸(縱軸)起始位置的邊界緊靠住該行的側(cè)軸起始邊界。

flex-end:彈性盒子元素的側(cè)軸(縱軸)起始位置的邊界緊靠住該行的側(cè)軸結(jié)束邊界。

center:彈性盒子元素在該行的側(cè)軸(縱軸)上居中放置。(如果該行的尺寸小于彈性盒子元素的尺寸,則會(huì)向兩個(gè)方向溢出相同的長(zhǎng)度)。

baseline:如彈性盒子元素的行內(nèi)軸與側(cè)軸為同一條,則該值與’flex-start’等效。其它情況下,該值將參與基線對(duì)齊。

stretch:如果指定側(cè)軸大小的屬性值為’auto’,則其值會(huì)使項(xiàng)目的邊距盒的尺寸盡可能接近所在行的尺寸,但同時(shí)會(huì)遵照’min/max-width/height’屬性的限制。

引用自http://t.csdn.cn/BR5Qv

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

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