彈性布局 Flexible Box

2021-10-04 20:19:08 字數 2477 閱讀 3331

頁面中任何乙個元素都可以指定為 彈性布局(flex)

屬性:display

取值:1、flex     將塊級元素變為彈性布局容器

2、inline-flex   將行內元素變為彈性布局容器

相容性:    display:-webkit-flex;

注意:將元素設定為flex後,子元素的 float,clear以及vertical-align屬性將失效

子元素有兩條軸

main axsis : 主軸,預設為橫向軸

cross axsis : 交叉軸,預設為縱向軸

容器(父元素)可以設定容器屬性,用於控制子元素的排列方式

1、flex-direction  指定軸的方向

1. row(主軸為橫軸,起點在左端,預設值)

2.row-reverse 主軸為橫軸,起點在右端

3.column 主軸為交叉軸(縱軸),起點在頂端

4.column-reverse 主軸為交叉軸(縱軸),起點在底

2、flex-wrap   一行內顯示不下所有專案時,如何換行

1.nowrap  預設值,不換行,會將專案等比縮放

2.wrap  換行

3.wrap-reverse  換行,第一行在下方(從下往上的意思,如圖)

3、flex-flow  是 flex-direction 和 flex-wrap的縮寫 (預設值為row nowrap)

4、justify-content  定義了子元素在主軸上的對齊方式

1.flex-start   主軸的起點對齊

2.flex-ecenternd   主軸的終點對齊

3.center  居中對齊

4.space-between  兩端對齊,每兩個專案之間的間隔相等(個人認為常用屬性值)

5.space-around  每個專案兩側的間隔距離是相等的(有坑,別踩,不是字面上的意思,如圖)

5、align-items  子元素在交叉軸上是如何排列對齊的(主要針對一行容器)

1.flex-start    交叉軸起點對齊(如圖)

2.flex-end    交叉軸終點對齊

3.center    交叉軸中間對齊

4.baseline  基線對齊,第一行文字的基線(下方)

5.stretch  預設值,如果專案未設定高度或高度為auto時,那麼將佔滿整個容器的高度

6、align-content    容器具備多跟軸線時(自動換行時),專案的對齊方式

1.flex-start  專案在交叉軸起點對齊(和上面那個屬性差不多,不同的是前乙個是適用於只有一行容器,這個是適用於多行)

2.flex-end  專案在交叉軸終點對齊

3.center  專案在交叉軸中間對齊

4.space-between  與交叉軸兩端對齊,軸線之間的間隔相等

5.space-around  每個軸線兩端的間隔相等,軸線間間隔比軸線與父元素邊框間隔大一倍   

6.stretch  預設值,在不指定專案高度時,佔滿整個交叉軸

專案(子元素)屬性

1.order  排序,定義專案的排列順序。值越小,越靠前

2.flex-grow    放大比例,如果當前排列軸有空餘空間,專案將如何放大

預設值為 0 ,不做任何放大處理(注意沒有負數)

只有乙個元素取值為1的元素,在有剩餘空間時,將佔滿剩餘的空間

有多個元素取值為1的時候,有剩餘空間時,大家平分剩餘空間

3.flex-shrink   專案的縮小比例,預設為1,即空間不足時,等比縮小(同上)

4.flex-basis  專案所佔據的空間大小

1.auto  預設值,專案本身大小

2.length,指定 寬 或 高(取決於主軸的方向)

5.align-self    單獨定義當前元素與其他元素不一樣的交叉軸對齊方式,可以覆蓋align-items的值。預設為 auto,即繼承父元素的align-items

1.auto 自動,繼承父元素align-items

2.flex-start   交叉軸起點

3.flex-end  交叉軸終點

4.center   交叉軸中間

5.baseline   基線對齊

6.stretch  在不指定專案高度時,佔滿整個交叉軸

彈性盒子(flexible box

將父元素盒子變為彈性盒子的方法 加display webkitt box 瀏覽器或設定為其他,box也可設定為inline box horizontal 設子元素為水平排列 預設 vertical 子元素為縱向排列start 子元素從開始位置對齊 大部分情況等同於左對齊 center 子元素居中對齊...

提高總結四 flexible box的布局練習

問題 justify items這幾個都沒有 1 flex是flexible box的縮寫,意為 彈性布局 用來為盒狀模型提供最大的靈活性 2 設為flex布局以後,子元素的float clear和vertical align屬性將失效。3 flex direction row row revers...

flex布局(彈性布局)

flex是flexible box的縮寫,意為 彈性布局 用來為盒狀模型提供最大的靈活性。任何乙個容器都可以指定為flex布局。box行內元素也可以使用flex布局。boxwebkit核心的瀏覽器,必須加上 webkit字首。box注意,設為flex布局以後,子元素的float clear和vert...