Flexibility
Flex伸縮布局決定性的特性是讓伸縮項目可伸縮,也就是讓伸縮項目的寬度或高度自動填充剩余的空間。這可以以flex屬性完成。一個伸縮容器會等比地按照各伸縮項目的 擴展比率 分配剩余空間,也會按照 收縮比率 縮小各項目以避免溢出。
Flex屬性
flex屬性可用來指定 可伸縮長度 的部件:擴展比率,收縮比率,伸縮基準線。當有一個元素是伸項目時,flex屬性將代替主軸長度屬性決定元素的主軸長度。若元素不是伸縮項目,則flex屬性不生效。
flex 是 flex-grow、flex-shrink、flex-basis的縮寫
| .item { flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]} | 
flex-basis取值的幾種情況:
flex 的常見值
flex的默認值:由于 flex-grow、flex-shrink、flex-basis三個屬性值在不設置的情況下默認值分別為 0、1、auto,所以flex的默認值為:flex:0 1 auto;
| .item { flex: 0 1 auto;}/*這種情況先根據width/height屬性決定元素的尺寸。(如果項目的主尺寸為auto,則會以其內容大小為基準)當剩余空間為正值時,伸縮項目無法伸縮,但當空間不足時,伸縮項目可收縮至其[最小]值。默認狀態下,伸縮項目不會收縮至比其最小內容尺寸更小??梢酝ㄟ^設置「min-width」或「min-height」屬性來改變這個默認狀態。*/ | 
flex: 0 auto:由于之前提到過,若在flex的縮寫中省略了flex-shrink的值,則該值指定為 1,所以flex:0 auto就相當于flex:0 1 auto(也就是與flex取默認值一樣);
新聞熱點
疑難解答