每當我們去進行前端頁面布局時都會用到float、position、margin等一些屬性,這些屬性用起來略顯麻煩,並且瀏覽器去進行渲染時會大大消耗性能
所以今天我們來談談最新的 flex布局,也叫彈性布局!
######需要注意的是任何容器都可以指定為flex布局,但是在flex布局中float、clear、vertical-align都會失效。 ####主軸方向flex容器分為x軸與y軸,x軸正方向默認從左至右,y軸正方向默認從上到下。
定義一個容器為彈性布局display:flex;主軸默認方向為左到右;
如果我們想去改變flex的默認方向,就需要用到flex-direction屬性 flex-direction有四個屬性值,分別是row、row-reverse、column、column-reverse,分別為從左到右、從右到左、從上到下、從下到上!
####主軸方向的對齊方式justify-content:flex-start則主軸為左對齊
justify-content:flex-end 則主軸為右對齊
justify-content:center 則主軸為居中
justify-content:space-between則每個子項目之間等距離,前提是有剩余空間
justify-content:space-around則每個子項目會平分剩余空間,子項目與父元素邊界處也會存在距離
####縱向單行對齊方式!align-item:flex-start縱向從上到下
align-item:flex-end縱向從下到上
align-item:center縱向居中對齊
align-item:baseline以基線對齊
align-item:strech這是默認方式
####子項目換行flex-wrap:wrap超出父元素會換行
flex-wrap:wrap-reverse反向換行
flex-wrap:no wrap這是默認方式,不換行
####縱向多行對齊方式!align-content:flex-start上對齊
align-content:flex-end下對齊
align-content:center上下居中
align-content:space-between
align-content:space-around
###以上均是添加到父元素身上的屬性 ####子項目的一些屬性order:0,定義子項目的排序位置,數值越小越靠前,默認為0
flex-grow:0;定義子項目的放大比例,默認為0不放大
flex-shrink:1;定義子項目的縮小比例,默認為1,空間不足將等比縮小,0則不縮小,負值無效
flex-basis:1;定義子項目占據空間,默認為auto,可以設置百分比,也可以是固定值
以上三種屬性可以簡寫,比如flex:1,1,1順序如上
如有錯誤,歡迎大家指正,一起努力吧!