flexbox 彈性盒子布局

2022-08-16 11:12:15 字數 2224 閱讀 2854

父元素:

display: -webkit-flex;

①子元素:

flex:1;(設定佔比)

計算規則: 父元素會將所有子元素的flex 相加求和後,算其子元素比例。

②flex混合劃分;

第乙個子元素 width:100px;

第二個子元素 flex:2

第三個子元素 flex:1

關於不定寬高的水平垂直居中

解決方案: 

① 尋常方法

父元素 position: relative;

子元素 position: absolute;

left: 50%;

top: 50%;//在父元素基礎上,往左往上偏移50%

-webkit-tranform:translate(-50%,-50%);//自身元素往左往上偏移50%

② flexbox版

父元素  display: -webkit-flex;     //伸縮布局

justify-content: center;  //水平居中

align-items: center;      //垂直居中

flexbox 平常屬性--父元素可設定的屬性

1) flex-direction  伸縮方向,

屬性值: ① row(水平預設)        ②row-reverse(水平反轉)  在水平方向上伸縮時,比例按寬度走;注意:要設定高度,否則無法顯示。

③ column (垂直)   ④ column(垂直反轉)   在垂直方向上伸縮時,比例就是按高度走;注意: body,父元素 height:100%,否則無法顯示。

2) -webkit-flex-wrap  伸縮超出內容是否換行

屬性值: ① nowrap(不換行,預設)

舉例說明: 父元素   width: 400px  ,有三個子元素其寬度值分別為:100px, 300px , 400px; 明顯子元素的寬度和大於父元素,由於父元素設定nowrap屬性值後將按1:3:4 比例重新分配400px;

② wrap(換行),仍然以上個例子為主,第三個子元素就會被換行

③ wrap-reverse,將按第二種方式垂直方向上反轉

3) flex-flow : flex-direction flex-wrap ;//是上面兩個屬性結合在一起編寫

4) justify-content  子元素的橫向排版

屬性值: ① flex-start   父元素伸縮開始的方向  //效果等同於 float: left

② flex-end   父元素伸縮結束的方向   //效果等同於 float: right

③ center      父元素居中           

④ space-between   兩邊對其    //左右兩個靠邊,中間的根據個數劃分再放置中間      

⑤ space-around  根據間距劃分(根據子元素個數劃分父元素後,再將父元素居中放置)------適合頭像排版

5)align-self  子元素各自的排版(用於子元素的屬性)

詳細說明: 用於覆蓋flex容器中的align-items屬性,它有和align-items相同的屬性值

6) align-items 父元素統一設定子元素的排版

7) align-content  父元素設定子元素換行方式

屬性值: ① flex-start 按照原有的高度自動換行

8) order 排序(用於子元素)

舉例說明: 如果將order:-1,將自動放在最前面

缺點: 相容性

① ios 可以使用最新flex布局

② android 4.4以下,只能相容舊版的flexbox布局

③ android 4.4以上,可以使用最新的flex布局

介於相容性內容,建議使用舊版的flexbox方案,其中屬性替換如下:

新flexbox布局

舊flexbox布局

display: -webkit-flex

display: -webkit-flex-box

-webkit-flex: 1

-webkit-flex-box: 1

justify-content:center

box-pack: center

align-items: center

box-align: center

flexbox彈性盒子布局

1.混合劃分 flex 1 flex 1 flex 2 我只有100px 不定寬高,水平垂直居中 2.方法1 可實現螢幕的水平垂直居中 不定寬高的水平垂直居中hhhhhhhhhhhh 方法1方法2 似乎不可實現螢幕的水平垂直居中,只能實現某個容器內的水平垂直居中 容器最好是有寬高 相容性1,ios可...

Flexbox彈性盒子布局

1.彈性盒子是css的一種新布局模式 2.代替浮動使布局更加簡便 3.對齊方式包含了水平和垂直方向 4.彈性專案可以通過css重新排序 1.建立容器 在元素身上建立乙個display的宣告,裡面的所有子元素我們稱為flex專案。如下圖所示。1.排列 在容器設定flex direction,其預設值為...

flex box 彈性盒子布局

flex是什麼 彈性布局 flexible box 模組 目前是w3c候選的推薦 旨在提供乙個更加有效的方式來布置,對齊和分布在容器之間的各項內容,即使它們的大小是未知或者動態變化的。由於flexbox是乙個整體模組,而不是單一的乙個屬性,它涉及到了很多東西,包括它的整個屬性集。它們之中有一些是在父...