Flex彈性盒布局

Flex布局語(yǔ)法

塊級(jí)元素 display : flex;

行內(nèi)元素 display : inline-flex;

1、flex-direction屬性

flex-direction ? 決定主軸的方向(即項(xiàng)目的排列方向)

flex-direction :row-reverse ?(會(huì)改變item的排列方向 改為 從右到左的順序 ? 主軸仍然是水平方向)

flex-direction :row (默認(rèn) item從左到右的順序排列) 主軸為水平方向,起點(diǎn)在左端、右端

flex-direction :column 會(huì)改變主軸方向 改成垂直方向 是從上到下的順序

flex-direction :column-reverse 會(huì)改變順序 改成從下到上的順序 主軸還是垂直方向

row


row-reverse?


column


column-reverse


2、flex-wrap屬性

?flex-wrap屬性定義了如果一條軸線排不下,如何換行

nowrap(默認(rèn)):不換行

wrap:換行,第一行在上方

wrap-reverse:換行,第一行在下方

不加換行屬性會(huì)出現(xiàn)下面場(chǎng)景:如果父元素盒子的總寬度小于子元素寬度的總和,子元素設(shè)置的寬高一樣,應(yīng)該是正方形,不加換行就會(huì)出現(xiàn)列表自動(dòng)給寬度自適應(yīng)成盒子寬度的總長(zhǎng)度

加換行屬性如下,變成正常的大小

總結(jié):flex-flow是復(fù)合屬性:是flex-direction和flex-wrap的簡(jiǎn)寫(xiě)形式,默認(rèn)值為row nowrap可以寫(xiě)成

flex-flow:column wrap,取兩個(gè)屬性的值即可 只寫(xiě)一個(gè)值 另一個(gè)就是默認(rèn)值

3、 justify-content屬性

justify-content 定義了項(xiàng)目在主軸上的對(duì)齊方式

justify-content:flex-start(默認(rèn)值):左對(duì)齊

justify-content:flex-end:右對(duì)齊

justify-content:center: 居中 就算有margin也會(huì)把整個(gè)子元素居中,并且左右兩邊的距離邊框的大小相等

justify-content:space-between:兩端對(duì)齊,項(xiàng)目之間的間隔都相等

justify-content:space-around:每個(gè)項(xiàng)目?jī)蓚?cè)的間隔相等。所以,項(xiàng)目之間的間隔比項(xiàng)目與邊框的間隔大一倍

justify-content: space-evenly;項(xiàng)目之間左右的間距以及項(xiàng)目和邊框之間的間距 都相等,會(huì)受到子元素設(shè)置margin的影響


center


space-between


space-around


space-evenly

4、align-items屬性

align-items 定義項(xiàng)目在交叉軸上對(duì)齊方式

align-items:?flex-start:交叉軸的起點(diǎn)對(duì)齊 默認(rèn)值

align-items:flex-end:交叉軸的終點(diǎn)對(duì)齊

align-items:center:交叉軸的中點(diǎn)對(duì)齊

?align-items:baseline: 項(xiàng)目的第一行文字的基線對(duì)齊

align-items:stretch(默認(rèn)值):如果項(xiàng)目未設(shè)置高度或設(shè)為auto,將占滿整個(gè)容器的高度


flex-start


flex-end


center


baseline


stretch

5、align-content屬性

align-content 定義了多根軸線的對(duì)齊方式

flex-start ?與交叉軸的起點(diǎn)對(duì)齊

flex-end ? ?與交叉軸的終點(diǎn)對(duì)齊

center ?與交叉軸的中點(diǎn)對(duì)齊

space-between ? 與交叉軸兩端對(duì)齊,軸線之間的間隔平均分布

space-around ? ?每根軸線兩側(cè)的間隔都相等。所以,軸線之間的間隔比軸線與邊框的間隔大一倍

stretch(默認(rèn)值) ? ?軸線占滿整個(gè)交叉軸 ★ 子元素不設(shè)置高度或者高度auto


align-content : center?


align-items

align-content 對(duì)比align-items 前者是將多根軸線當(dāng)做一個(gè)整體實(shí)現(xiàn)居中,后者將每個(gè)軸線單個(gè)當(dāng)做一個(gè)整體居中

5、 order屬性

order 定義項(xiàng)目的排列順序。數(shù)值越小,排列越靠前,默認(rèn)為0

6、align-self屬性

align-self: auto | flex-start | flex-end | center ?| stretch;
交叉軸上的對(duì)齊方式,允許單個(gè)項(xiàng)目有與其他項(xiàng)目不一樣的對(duì)齊方式,可覆蓋align-items屬性 ★在多根軸線下設(shè)置無(wú)效


7、 flex復(fù)合屬性

flex: flex-grow flex-shrink flex-basis

flex-grow?定義項(xiàng)目的放大比例,默認(rèn)為0,即如果存在剩余空間,也不放大。主要作用是:分配剩余空的,?flex-grow:1;表示把剩余的空間都充滿,如果每個(gè)項(xiàng)目都設(shè)置flex-grow:1不要使用flex-wrap進(jìn)行換行

flex-shrink用來(lái)表示是否被壓縮 默認(rèn)值是1 表示被壓縮,改成0表示不被壓縮 保持設(shè)置的尺寸

flex-basis默認(rèn)值是auto flex-basis優(yōu)先級(jí)比width要高,同時(shí)設(shè)置,只會(huì)展示flex-basis的寬度

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • /* flex-flow: flex-direction flex-wrap;復(fù)合屬性 flex-d...
    沖鋒敢死曾小賢閱讀 219評(píng)論 0 0
  • 今天整理了一下彈性盒布局,希望給我們的小白童鞋一點(diǎn)幫助。既然要用這種布局,就不得不考慮它的兼容性,不要慌can i...
    鋒享前端閱讀 638評(píng)論 0 1
  • 2009年,W3C 提出了一種新的方案----Flex 布局,可以簡(jiǎn)便、完整、響應(yīng)式地實(shí)現(xiàn)各種頁(yè)面布局。目前,它已...
    丫3閱讀 622評(píng)論 0 0
  • 1基本介紹: 任何一個(gè)容器都可以指定為 Flex 布局。 .box{display:flex;} 行內(nèi)元素也可...
    專注_刻意練習(xí)閱讀 1,977評(píng)論 0 3
  • 一、Flex布局是什么? Flex是Flexible Box的縮寫(xiě),翻譯成中文就是“彈性盒子”,用來(lái)為盒裝模型提供...
    向往自由_loser閱讀 649評(píng)論 0 1

友情鏈接更多精彩內(nèi)容