最近項目主要是小程序,小程序裏面的佈局主要採用flex佈局,以前對flex 佈局只是稍做了解,總結下flex 佈局的經常使用套路html
Flex是Flexible Box的縮寫,意爲」彈性佈局」,用來爲盒狀模型提供最大的靈活性。
任何一個容器均可以指定爲Flex佈局。像這樣:小程序
.container{ display: flex; }
每一個彈性框佈局包含兩個軸。彈性項目沿其依次排列的那根軸稱爲主軸(main axis)。垂直於主軸的那根軸稱爲側軸(cross axis)。佈局
flex-direction
確立主軸。
justify-content
定義了在當前行上,彈性項目沿主軸如何排布。
align-items
定義了在當前行上,彈性項目沿側軸默認如何排布。
align-self
定義了單個彈性項目在側軸上應當如何對齊,這個定義會覆蓋由 align-items
所確立的默認值。flex
彈性容器的主軸起點(main start)/主軸終點(main end)和側軸起點(cross start)/側軸終點(cross end)描述了彈性項目排布的起點與終點。它們具體取決於彈性容器的主軸與側軸中,由 writing-mode
確立的方向(從左到右、從右到左,等等)。code
order 屬性將元素與序號關聯起來,以此決定哪些元素先出現。
flex-flow 屬性是 flex-direction 和 flex-wrap 屬性的簡寫,決定彈性項目如何排布。htm
根據 flex-wrap 屬性,彈性項目能夠排布在單個行或者多個行中。此屬性控制側軸的方向和新行排列的方向。教程
根據彈性容器的主軸與側軸,彈性項目的寬和高中,對應主軸的稱爲主軸尺寸(main size) ,對應側軸的稱爲 側軸尺寸(cross size)。開發
min-height 與 min-width 屬性初始值將爲 0。
flex 屬性是 flex-grow、flex-shrink 和 flex-basis 屬性的簡寫,描述彈性項目的總體的伸縮性get
CSS屬性flex規定了彈性元素如何伸長或縮短以適應flex容器中的可用空間。這是一個簡寫屬性,用來設置flex-grow
, flex-shrink
與flex-basis
。
大多數狀況下,開發者須要將flex
設置爲auto
,initial
,none
,或一個無單位正數it