彈性佈局(伸縮佈局)的使用
CSS3 在佈局方面做了非常大的改進,對塊級元素的佈局排列變得十分靈活,適應性非常強,其強大的伸縮性,在響應式開發中可以發揮極大的作用。(相容性不好)
必要元素:
指定一個盒子為伸縮盒子,等於開啟彈性佈局給該盒子設定 display:flex;
設定屬性來調整此盒子的子元素的佈局方式:如 flex-direction;
明確主側軸及方向
可互換主側軸,也可改變方向
各屬性:
設定主軸方向
a) flex-direction:row(預設屬性)
- row:從左往右
b) flex-direction:row-reverse
- row-reverse從右向左排列
c) flex-direction:column
- 豎直反向,從上往下
d) flex-direction:column-reverse
1. 豎直方向,從下往上
主軸的對齊方式
a) justify-content:flex-start;
- 從主軸開始的方向對齊
b) justify-content:flex-end
- 從主軸結束的方向對齊
c) justify-content:center
- 居中對齊(水平/豎直)
d) justify-content:space-around
- 平分父盒子空間
e) justify-content:space-between
1. 兩端對齊,中間平分
側軸對齊方式
a) align-items:flex-start
- 從側軸開始的方向對齊
b) align-items:flex-end
- 從側軸結束的方向對齊
c) align-items:center
- 在側軸方向上居中
d) align-items:baseline
- 基線對齊,與flex-start等效
e) align-items:stretch
- 拉伸,和父盒子高度一樣
- 有高度不會被拉伸
伸縮比例
a) flex:number
b) 不設定就不參與平分
元素換行
a) flex-wrap:wrap; 換行,控制伸縮盒子裡面的元素
b) flex-wrap:nowrap; 預設不換行 會自動縮減寬度
控制 換行 堆疊的元素
a) align-content: flex-start
起始點對齊 各行向彈性盒容器的起始位置堆疊
b) align-content: flex-end;
終止點對齊 將結尾鋪滿 開頭空著
c) align-content: center ;
居中對齊,各個盒子向彈性盒容器的中間位置堆疊/y軸中間
d) align-contnt: space-around;
四周環繞:各行在彈性盒容器中平均分佈
e) align-content: space-between;
頂端和底部對齊,中間部分為空
f) align-content: stretch ;
拉伸 高度會自適應
align-self; 覆蓋父元素設定的align-items
align-self: stretch
flex-start / flex-end / center / stretch
側軸起始點對齊/終止點對齊/居中對齊/拉伸