1、display:box;html
在元素上設置該屬性,可以使其子代排列在同一水平上,相似display:inline-block;。瀏覽器
2、可在其子代設置以下屬性flex
前提:使用以下屬性,必須在父代設置display:box;orm
1.box-flex:number;htm
1)佔父級元素寬度的number份io
2)若子元素設置固定寬度,則該子元素應用固定寬度,其餘未設置固定寬度的字元素將餘下的父級寬度(父級-已設置固定寬度的子代元素的總寬度按 number佔份數margin
3)若子元素有margin值,則按餘下(父級寬度-子代固定總寬度-總margin值)寬度佔number份di
2.box-orient:horizontal/verticalinline-block
在父級上設置該屬性,則子代按水平排列或豎直排列。display
注:全部主流瀏覽器不支持該屬性,必須加上前綴。
1)horizontal 水平排列,子代總width=父級width。若父級固定寬度,則子代設置的width無效,子代會撐滿父級寬度。
2)vertical 垂直排列,子代總height=父級height。若父級固定高度,則子代設置的height無效,子代會撐滿父級高度。
3.box-direction:normal/reverse
在父級上設置該屬性,確認子代的排列順序。
1)normal 默認值,子代按html順序排列
2)reverse 反序
4.box-align:start/end/center/stretch
在父級設置,子代的垂直對齊方式。
1)start 垂直頂部對齊
2)end 垂直底部對齊
3)center 垂直居中對齊
4)stretch 拉伸子代的高度,與父級設置的高度一致。子代height無效。
5.box-pack:start/end/center
在父級設置,子代的水平對齊方式。
1)start 水平左對齊
2)end 水平右對齊
3)center 水平居中對齊