由于常規(guī)布局的各種缺點设易,F(xiàn)lex布局已逐漸成為新版瀏覽器開發(fā)中的首選布局方案闷板。以下對flex布局常用屬性做一個簡單的總結(jié):
首先我們把flex布局屬性分為兩類澎灸,一是容器屬性(采用flex布局的元素成為flex容器),二是項目屬性(容器內(nèi)所有的子元素為項目成員)遮晚。
一性昭,容器屬性:
1,flex-direction主軸方向县遣,默認值為水平方向(row)糜颠,即從左到右排列汹族,column為垂直排列,從上到下
2其兴,flex-wrap表示項目是否換行以及如何換行顶瞒,默認不換行
3,justify-content(常用屬性)元旬,定義了項目在主軸方向上的對齊方式榴徐,默認左對齊flex-start,其余還有:space-between(兩端對齊匀归,項目之間間距相等)坑资,space-around(每個項目兩側(cè)間隔相等),center居中穆端,flex-end又對齊
4袱贮,align-items(常用屬性),項目沿交叉軸對齊方式体啰,默認值stretch(如果項目未設(shè)置高度或設(shè)為auto則占滿容器高度)攒巍;center(常用),沿交叉軸中點對齊即我們最想實現(xiàn)的垂直居中
二荒勇,項目屬性:
1窑业,flex-grow,項目放大的比例枕屉,默認0常柄,即存在剩余空間也不放大。
2搀擂,flex-shrink西潘,項目縮小比例,默認1哨颂,如果空間不足則項目縮小喷市。
3,flex-basis威恼,在分配多余空間之前品姓,項目占據(jù)主軸的空間。默認值為auto箫措,即項目本來的大小腹备。(可能的值為百分比或固定大小,如100px)
根據(jù)這幾個屬性斤蔓,可以實現(xiàn)頭尾固定植酥,中間內(nèi)容區(qū)自適應(yīng)的布局:內(nèi)容區(qū)的項目設(shè)置屬性flex-grow:?1;flex-basis:?0;
這幾個屬性的簡寫為flex,默認值為0 1 auto,建議優(yōu)先使用這個屬性友驮,上面的屬性組合可以簡寫為flex:1漂羊,在chrome瀏覽器中解析為