說明:
display:flex和display:box都可用於彈性布局,不同的是display:box是2009年的命名,已經過時,用的時候需要加上前
綴;display:flex是2012年之后的命名。在實際的測試中display:flex不能完全的替代display:box。
不考慮IE瀏覽器的話,PC端上使用哪個都可以,一般使用display:flex;移動端的安卓的UC只支持display:box,iOS的UCdisplay:box和display:flex兩個都支持。
兼容性測試 參考:
http://www.cnblogs.com/ztwxiaoxiao/p/5028263.html
http://blog.csdn.net/qishuixian/article/details/53258807
用法:
1.box-flex:number;
1)占父級元素寬度的number份
2)若子元素設置固定寬度,則該子元素應用固定寬度,其他未設置固定寬度的字元素將余下的父級寬度(父級-已設置固定寬度的子代元素的總寬度按 number占份數
3)若子元素有margin值,則按余下(父級寬度-子代固定總寬度-總margin值)寬度占number份
2.box-orient:horizontal/vertical
在父級上設置該屬性,則子代按水平排列或豎直排列,該設置后的結果決定主軸對齊方式。
注:所有主流瀏覽器不支持該屬性,必須加上前綴。
1)horizontal 水平排列,子代總width=父級width。若父級固定寬度,則子代設置的width無效,子代會撐滿父級寬度。
2)vertical 垂直排列,子代總height=父級height。若父級固定高度,則子代設置的height無效,子代會撐滿父級高度。
3.box-direction:normal/reverse
在父級上設置該屬性,確認子代的排列順序。
1)normal 默認值,子代按html順序排列
2)reverse 反序
4.box-pack:start/end/center
在父級設置,子代的在主軸上的對齊方式。
1)start 開始位置對齊
2)end 結束位置對齊
3)center 居中對齊
5.box-align:start/end/center/stretch
在父級設置,子代的在次軸上的對齊方式。
1)start 開始位置對齊
2)end 結束位置對齊
3)center 居中對齊
4)stretch 拉伸子代的高度,與父級設置的高度一致。子代height無效。