詳情參見此篇博客
http://www.w3cplus.com/css/creaet-equal-height-columns
建議掌握方法四、五
其實,利用最新的flex布局
http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html
http://www.ruanyifeng.com/blog/2015/07/flex-examples.html
對於之前盒子模型基於position+display+float 很難實現的特殊布局,諸如居中對齊(justify content屬性,主軸上的對齊方式),等高列(align-items:側軸上的對齊方式)也提供了簡潔的解決方案。
Flex相關語法
flex是flexible box的縮寫,意即“彈性布局”
1)display:flex 為容器指定flex布局。
2)下面6個屬性設置在容器上
flex-direction:row/row-reverse/column/column-reverse; 該屬性決定主軸上的排列方向;
flex-wrap:no-wrap/wrap/wrap-reverse;決定如何換行;
flex-flow:常用,是flex-direction和flex-wrap屬性的簡寫形式,默認是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;定義了多行的對齊方式,如果只有一行,那么該屬性不起作用。
3)以下6個屬性設置在項目上
order:定義項目的排列順序,數值越小,排列越靠前,默認為0;
flex-grow:定義項目的放大比例,默認為0,即如果存在剩余空間,也不放大。
flex-shrink:定義項目的縮小比例,默認為1,即如果空間不夠,該項目將縮小。
flex-basis: 定義在分配多余空間以前,項目占據的主軸空間,瀏覽器根據這個屬性,計算主軸是否有多余空間。其默認值為auto,即項目本來大小。
flex:是flex-grow,flex-shrink和flex-basis的簡寫,默認值為0 1 auto。后兩個屬性可選
align-self:允許單個項目有與其他項目不同的對齊方式,可覆蓋align-items屬性。默認為auto,表示繼承父元素的align-items屬性。