摘要:容器首先實(shí)現(xiàn)布局需要先指定一個(gè)容器,任何一個(gè)容器都可以被置頂為布局,這樣容器內(nèi)的元素就可以使用來進(jìn)行布局。當(dāng)存在多條軸線時(shí),多條軸線在垂直方向上的布局。
在flex容器中默認(rèn)存在兩條軸,水平主軸和垂直的交叉軸,這是默認(rèn)設(shè)置,當(dāng)然可以通過修改相關(guān)屬性使垂直方向變?yōu)橹鬏S,水平方向變?yōu)榻徊孑S,在容器中,每個(gè)單元塊稱為flex item,每個(gè)flex item占據(jù)主軸空間為main size,占據(jù)交叉軸空間為cross size。
Flex容器首先實(shí)現(xiàn)flex布局需要先指定一個(gè)容器,任何一個(gè)容器都可以被置頂為flex布局,這樣容器內(nèi)的元素就可以使用flex來進(jìn)行布局。
.container { display: flex | inline-flex; }
flex生成一個(gè)塊狀的flex容器盒子,inline-flex生成一個(gè)行內(nèi)flex容器盒子,以下六種屬性可以設(shè)置在容器上:
flex-direction
flex-wrap
flex-flow
justify-content
align-items
align-content
flex-direction.container { display:flex; flex-direction: row | row-reverse | column | column-reverse; }
flex-direction決定了主軸的方向,默認(rèn)值是row。
row:主軸方向?yàn)樗椒较颍瘘c(diǎn)在左端; row-reverse:主軸方向?yàn)樗椒较颍瘘c(diǎn)在右端 column:主軸方向?yàn)樨Q直方向,起點(diǎn)在上端 column:主軸方向?yàn)樨Q直方向,起點(diǎn)在下端flex-wrap
.container { display:flex; flex-wrap:nowrap | warp | wrap-reverse; }
flex-wrap決定容器內(nèi)項(xiàng)目是否可換行,默認(rèn)值nowrap。
nowrap:不換行,項(xiàng)目尺寸會(huì)隨之調(diào)整 wrap:超出換行,且第一行在上方 wrap-reverse:超出換行,且第一行在下方flex-flow
.container { display:flex; flex-flow:|| ; }
flex-flow是flex-direction和flex-wrap的簡寫,其默認(rèn)值為row nowrap
。
.container { display:flex; justify-content:flex-start | flex-end | center | space-between | space-around; }
justify-content定義了項(xiàng)目在主軸上的對(duì)齊方式,默認(rèn)值為flex-start
flex-start:左對(duì)齊 flex-end:右對(duì)齊 center:居中 space-between:兩端對(duì)齊,把剩余空間等分成間隙 space-around:每個(gè)項(xiàng)目兩側(cè)的間隔相等align-items
.container { display:flex; align-items:flex-start | flex-end | center | baseline | stretch; }
align-items定義了項(xiàng)目在交叉軸上的對(duì)齊方式,默認(rèn)值為stretch
stretch:如果項(xiàng)目沒有設(shè)置高度或者為auto,將占滿整個(gè)容器的高度 flex-start:交叉軸起點(diǎn)對(duì)齊 flex-end:交叉軸終點(diǎn)對(duì)齊 center:中點(diǎn)對(duì)齊 baseline:項(xiàng)目的第一行文字的基線對(duì)齊align-content
.container { display:flex; align-content:flex-start | flex-end | center | space-between | space-around | stretch; }
align-content:定義了多根軸線的對(duì)齊方式,如果項(xiàng)目只有一個(gè)軸線,那么該屬性將不起作用。比如flex-wrap:nowrap;容器只有一根軸線,align-content就不起作用。默認(rèn)值為stretch。當(dāng)存在多條軸線時(shí),多條軸線在垂直方向上的布局。
flex項(xiàng)目有以下6中定義在item上的屬性:
order
flex-basis
flex-grow
flex-shrink
flex
align-self
order.item { order:; }
order定義項(xiàng)目在容器中的排列順序,數(shù)值越小排列越靠前,默認(rèn)值為0。
flex-basis.item { flex-basis:| auto; }
flex-basis定義了在分配多余空間之前,項(xiàng)目占據(jù)主軸空間,瀏覽器根據(jù)這個(gè)屬性,計(jì)算主軸是否有多余空間,默認(rèn)值為auto,即項(xiàng)目本身的寬高。flex-basis需要跟flex-grow和flex-shrink配合使用才能發(fā)揮效果。
flex-grow.item { flex-grow:; }
flex-grow定義項(xiàng)目的放大比例,默認(rèn)值為0,即若果存在剩余空間,也不放大。當(dāng)所有項(xiàng)目的flex-grow屬性值為1,則它們將等分剩余空間,如果一個(gè)項(xiàng)目flex-grow為2,其他為1,則前者占據(jù)的剩余空間將比其他項(xiàng)多一倍。如果所有項(xiàng)flex-basis的值排列完后發(fā)現(xiàn)空間不夠,且flex-wrap:nowrap時(shí),此時(shí)flex-grow則不起作用。
flex-shrink.item { flex-shrink:; }
flex-shrink定義項(xiàng)目的縮小比例,默認(rèn)值為1,若空間不夠,且所有項(xiàng)的值為1,則所有項(xiàng)等比例縮小,如果一項(xiàng)flex-shrink屬性為0,其他項(xiàng)都為1,則前者不縮小。
flex.item { flex:auto | none || | ; }
flex是flex-grow、flex-shrink、flex-basis三個(gè)屬性的縮寫。
auto:三個(gè)屬性的值為 1 1 auto none:三個(gè)屬性的值為 0 0 autoalign-self
.item { align-self:auto | flex-start | flex-end | center | baseline | stretch; }
algn-self允許單個(gè)項(xiàng)目有與其他項(xiàng)目不一樣的對(duì)齊方式,單個(gè)項(xiàng)目的algn-self會(huì)覆蓋align-items屬性,默認(rèn)值為auto,表示繼承父元素的align-items屬性。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/115780.html
摘要:系統(tǒng)性的介紹關(guān)于布局,也作為自學(xué)的一篇文章基礎(chǔ)理念使用彈性盒子的意義是在任何尺寸的屏幕上改變其和其子元素的尺寸填充屏幕可用空間。屬性一個(gè)布局的頁面所具有的元素可分為類。每行第一個(gè)元素與行首對(duì)齊,每行最后一個(gè)元素與行尾對(duì)齊。 flex-tutorials 系統(tǒng)性的介紹關(guān)于flex布局,也作為自學(xué)的一篇文章 flex基礎(chǔ)理念 使用彈性盒子的意義是在任何尺寸的屏幕上改變其和其子元素的尺寸填充...
摘要:系統(tǒng)性的介紹關(guān)于布局,也作為自學(xué)的一篇文章基礎(chǔ)理念使用彈性盒子的意義是在任何尺寸的屏幕上改變其和其子元素的尺寸填充屏幕可用空間。屬性一個(gè)布局的頁面所具有的元素可分為類。每行第一個(gè)元素與行首對(duì)齊,每行最后一個(gè)元素與行尾對(duì)齊。 flex-tutorials 系統(tǒng)性的介紹關(guān)于flex布局,也作為自學(xué)的一篇文章 flex基礎(chǔ)理念 使用彈性盒子的意義是在任何尺寸的屏幕上改變其和其子元素的尺寸填充...
摘要:總之有了基礎(chǔ),理解彈性布局蠻容易的。語法格式當(dāng)容器的設(shè)置了溢出換行屬性,且當(dāng)前在交叉軸方向上存在多行的情況下,該屬性才會(huì)生效。 本篇文章已授權(quán)微信公眾號(hào) dasu_Android(大蘇)獨(dú)家發(fā)布 聲明 本系列文章內(nèi)容全部梳理自以下四個(gè)來源: 《HTML5權(quán)威指南》 《JavaScript權(quán)威指南》 MDN web docs Github:smyhvae/web 作為一個(gè)前端小白,入門跟...
摘要:彈性盒子基礎(chǔ)彈性盒子是中盒子模型的彈性布局,在傳統(tǒng)的布局方式上增加了很多靈活性。定義一個(gè)彈性盒子在父盒子上定義屬性內(nèi)核瀏覽器的兼容設(shè)置,下同當(dāng)然還有行內(nèi)布局的彈性盒子注意,設(shè)為布局以后,子元素的和屬性將失效。 彈性盒子基礎(chǔ) 彈性盒子(Flexible Box)是css3中盒子模型的彈性布局,在傳統(tǒng)的布局方式上增加了很多靈活性。 定義一個(gè)彈性盒子 在父盒子上定義display屬性: #b...
閱讀 1264·2021-10-18 13:32
閱讀 2331·2021-09-24 09:47
閱讀 1323·2021-09-23 11:22
閱讀 2463·2019-08-30 14:06
閱讀 570·2019-08-30 12:48
閱讀 1997·2019-08-30 11:03
閱讀 535·2019-08-29 17:09
閱讀 2462·2019-08-29 14:10