最近喜歡flex布局,它可以完美的實現響應式布局,下邊我總結了它的一些常用屬性,喜歡的,也可以練習寫一下,很好用~~~
注意:使用了flex布局,對於子元素的float
、clear
和vertical-align
屬性將失效。
1.以下6個屬性設置在容器上
flex-direction | row/row-reverse/column/column-reverse | 決定主軸的方向(即項目的排列方向) |
flex-wrap | wrap/nowrap/wrap-reverse | 決定項目排列方式 |
flex-flow | <flex-direction>|<flex-wrap> | 前兩者簡寫形式,默認flex-flow:row nowrap |
justify-content | flex-start/flex-end/center/space-between/space-around | 決定項目在主軸的對齊方式
|
align-items | flex-start/flex-end/center/baseline/stretch | 定義項目在交叉軸上如何對齊
|
align-content | flex-start/flex-end/center/space-between/space-around/stretch | 定義多根軸線的對齊方式。如果項目只有一根軸線,該屬性不起作用。 |
2.以下6個屬性設置在項目上
oreder | .item{order:1} | 定義項目的排列順序。數值越小,排列越靠前,默認為0。 |
flex-grow | .item{flex-grow:<number>} | 定義項目的放大比例,默認為 (如果所有項目的 |
flex-shrink | .item{flex-shrink:<number>/*default 1*/} | 定義項目的縮小比例,默認為1,即如果空間不足,該項目將縮小。(如果所有項目的flex-shrink 屬性都為1,當空間不足時,都將等比例縮小。如果一個項目的flex-shrink 屬性為0,其他項目都為1,則空間不足時,前者不縮小。) |
flex-basis | .item{flex-basis:length/*default auto*/} | 定義在分配多余空間之前,項目占據的主軸空間(main size)。瀏覽器根據這個屬性,計算主軸是否有多余空間。它的默認值為auto ,即項目的本來大小。(注:它可以設為跟width 或height 屬性一樣的值(比如350px),則項目將占據固定空間。) |
flex | .item{flex:none} | 是 該屬性有兩個快捷值:auto (1 1 auto) 和 none (0 0 auto)。 |
align-self | .item { align-self: auto | flex-start | flex-end | center | baseline | stretch; } | 允許單個項目有與其他項目不一樣的對齊方式,可覆蓋align-items 屬性。默認值為auto ,表示繼承父元素的align-items 屬性,如果沒有父元素,則等同於stretch 。 |