本文轉(zhuǎn)自出世Sunny的博客,文章版權(quán)歸原作者所有,轉(zhuǎn)載目的在于傳遞更多信息,如涉及作品內(nèi)容、版權(quán)和其它問題,請在30日內(nèi)與本人聯(lián)系,我將在第一時間刪除內(nèi)容!
flex的第一個值(擴展量)
可以用flex-grow單獨設(shè)置,代表含義是對額外空間的占據(jù)量,所謂額外空間就是這一行多余的空間,有多余的空間這一屬性才有用。默認值是0,意思就是即使有多余空間,它也不要
這就是默認的效果,;如果給多個成員設(shè)置正值,那么他們會根據(jù)正值的大小分配,比如值一個為1,一個為2,那么額外空間就會分成三份,給1的一份,給2的兩份。





flex的第二個值(收縮量)
可以用flex-shrink單獨設(shè)置,這個屬性只有在沒有額外空間時起作用,意思是沒有額外空間時,成員貢獻出空間的大小。默認值為1,如果為0意思是不貢獻空間,也就是說即使空間不足,成員大小也不發(fā)生改變。




可以看出二號釋放出的空間是一和三的兩倍,所以這里的值并不是縮小的比例,而是釋放空間的份額。默認都為1,那也就是說大家釋放同等的空間去填補容器的縮小量。
flex的第三個值
可以用flex-basis來設(shè)置,這個值呢,表示在分配額外空間之前,成員占據(jù)的空間,默認值為auto,意思就是你本來占多少就是多少。但也可以自己設(shè)置長度(px)。這個值的效果就是確定在釋放和分配空間的時候,你的初值是多少。
總結(jié)
flex屬性其實就是flex-grow,flex-shrink,flex-basis三者的縮寫形式。要么只寫第一個,要么三個全寫,防止自己搞錯(確實有flex:0 auto 這種寫法,但最好還是避免吧)
一般還有幾個常用值
flex:auto;? 等同于 flex:1 1 auto; 意思就是占滿額外空間,可縮放。
flex:none;? 等同于flex:0 0 auto;? 意思是不占額外空間,不可縮放。
從字面上解釋大概就是可彈性與不可彈性。