您當前位置>首頁 » 新聞資訊 » 小(xiǎo)程序相(xiàng)關 >
微(wēi)信小(xiǎo)程序使用(yòng)Flex容器(qì)
發表時(shí)間(jiān):2021-1-11
發布人(rén):葵宇科(kē)技(jì)
浏覽次數(shù):73
Flex 是(shì) W3C 提出的(de)一(yī)種新的(de)布局方案,可(kě)以非常方 $₩§便的(de)完成響應式頁面布局,到(dào)目前為(wèi)Ω★止幾乎所有(yǒu)浏覽器(qì)都(dōu)支持,Flex 是(shì) Flexibl∑αe Box 的(de)縮寫,翻譯過來(lái)是(shì)”彈性布局≈₽₹”的(de)意思,下(xià)面一(yī)起來(lái)學習(xí) Flex 布局的(de)↓×☆使用(yòng)。
- 基礎概念
- flex容器(qì)屬性
- flex項目屬性
- 總結
基礎概念
采用(yòng) Flex 布局的(de)元素稱為(wèi) Flex β>≠←容器(qì),所有(yǒu)子(zǐ)元素将自(zì)動成為(→✘¶wèi)容器(qì)成員(yuán),也(yě)可(kě)以稱之為(wèi) Flex☆ ±≤ 項目,也(yě)就(jiù)是(shì)該 Flex 布局的(de)子£¥£(zǐ) View ,下(xià)面是(shì) Flex 布局默認設置下(€'πxià)的(de)示意圖:
如(rú)上(shàng)圖所示,默認的(de) Flex 容器(qì)的(de)存在兩個(gè)©β<軸:水(shuǐ)平的(de)主軸(main axis)和(hé)垂直的( Ω↓de)交叉軸(cross axis),主軸和(hé)交叉軸的(de)方向不(bù)是(shì)✔絕對(duì)的(de),而是(shì)會(huì)因為(wèi)設置的(de)不(bù)β★φ同而不(bù)同,下(xià)面是(shì)與主軸和(hé)交叉軸相(xià♥♦↑γng)關的(de)幾個(gè)位置:
- 主軸起始點(main start):主軸的(de)開(×₹kāi)始位置
- 主軸的(de)結束點(main end):主軸的(de)結束位置
- 主軸空(kōng)間(jiān)(main size):單個(gè) Flex 項目占據的₩♥π±(de)主軸空(kōng)間(jiān)
- 交叉軸的(de)起始點(cross start):交叉軸的(de)起♣∏✔始點
- 交叉軸的(de)結束點(cross end):交叉軸的(de)結束點÷∏
- 交叉軸空(kōng)間(jiān)(cross si± ze):單個(gè) Flex 項目占據的(de)交叉軸空(kōng)間(jiān↓×)
flex容器(qì)屬性
- flex-direction:設置主軸的(de)方向,可(kě)設置的λ÷♠(de)值如(rú)下(xià):
- row:默認值,設置主軸為(wèi)水(shuǐ)平方方向,起點在左邊
- row-revarse:設置主軸為(wèi)水(shuǐ)平方向,起點在σ↕右邊
- column:設置主軸為(wèi)垂直方向,起點在上(shàng)邊
- column-revarse:設置主軸為(wèi)垂直方向,起點在下(xià)邊
2. flex-wrap:設置如(rú)何換行(xíng),可(kě)設置的(de)值如™'₽(rú)下(xià):
- nowrap:默認值,不(bù)換行(xíng)
- wap:自(zì)動換行(xíng)
- wrap-revarse:自(zì)動換行(xíng),在第一(yī)行•≥•(xíng)的(de)上(shàng)一(yī)行(xíng)
3. flex-flow:flex-direction ÷•♠屬性和(hé) flex-wrap 屬性的(de)簡寫形式,®☆默認值為(wèi) row nowrap。
4. justify-content:設置項目在主軸上(shàng)的(de)對(duì)齊方♦δ€€式,可(kě)設置的(de)值如(rú)下(xià):
- flex-start:默認值,左對(duì)齊
- flex-end:右對(duì)齊
- center:居中對(duì)齊
- space-between:兩端對(duì)齊
- space-around:每個(gè)項目兩側的(de)間(jiān)隔相(∑•πxiàng)等,與屏幕邊緣的(de)間(jiān)隔是(shì)其他(tā)項目之間(jiāα↔$n)間(jiān)隔的(de)一(yī)半
- space-evenly:平均分(fēn)布各個(gè)項目,與≈€屏幕邊緣的(de)間(jiān)隔與其他(tā)項目之間(jiān)的(de)間(jiān∑π)隔相(xiàng)等
5. align-items:設置項目在交叉軸上(shàng)如&≈(rú)何對(duì)齊,可(kě)設置的(de)值如(rú)下(xià)::默認值α©±,如(rú)果沒有(yǒu)項目未指定高(gāo)度α或設置為(wèi)auto,則項目會(huì)占滿整個(gè)容器(qì)的(de)高(★&™€gāo)度,可(kě)設置的(de)值如(rú)下(xià):
- stretch:默認值,如(rú)果沒有(yǒu)項目未指定高(gāoδ<)度或設置為(wèi)auto,則項目會(huì)占滿整個(gè)容器&≤ (qì)的(de)高(gāo)度,下(xià)面圖示中項目 ₹¥1 就(jiù)未指定高(gāo)度,其餘項目都(dōu)指定了(l≠ e)高(gāo)度
就(jiù)未指定高(gāo)度 - flex-start:設置與交叉軸的(de)起點對(duì)齊
- flex-end:設置與交叉軸的(de)結束點對(duì)齊
- center:設置與交叉軸的(de)重點對(duì)齊
- baseline:設置項目與項目中第一(yī)行(xíng)文(wén)字基線對₽β¥★(duì)齊
6. align-content:設置多(duō)根軸線的(de)對(dλΩ♠uì)齊方式,如(rú)果隻有(yǒu)一(yī)個(gè)軸γ±則該屬性不(bù)生(shēng)效,可(kě)設置的πλ♥(de)屬性如(rú)下(xià):
- stretch:默認值,軸線占滿整個(gè)交叉軸
- flex-start:設置與與交叉軸的(de)起點對(duì)齊
- flex-end:設置與交叉軸的(de)終點對(duì)齊
- center:設置與交叉軸的(de)中點對(duì)齊
- space-between:設置與交叉軸兩端對(duì)齊,軸線之間(jiān)的(de)間(j≥§iān)隔平均分(fēn)布
- space-around:設置每根軸線兩側的(de)間(jiān)隔都(dōu)相(xiàng±÷∞)等,軸線與軸線的(de)間(jiān)隔是(shì)軸線到(dào)交叉軸邊緣間 γ♦(jiān)隔的(de)兩倍
flex項目屬性
- order:默認值為(wèi)0,設置項目的(de)排列順序,數(sh∏ ù)值越小(xiǎo),排列越靠前,如(rú)下(xià)圖所示:
2、flex-grow:設置項目的(de)放(fàng)大(dà)比例,默認值為(wè¥σi)0,如(rú)果存在剩餘空(kōng)間(jiān)也(yě)不(bù)放(&©γfàng)大(dà),如(rú)下(xià)圖所示:
3. flex-shrink:設置項目的(de)縮小(xiǎo)比例,默認$ α值為(wèi) 1,如(rú)果項目空(kōng)間(jiān)不'Ω(bù)足,則項目将縮小(xiǎo),如(rú)下(xià)圖所示:
上(shàng)面圖示中,當 flex-shrink 全設置為(wèi)∑≥ 0,每個(gè)項目不(bù)會(huì)縮放(fàng),所以第四個(gè)方塊被擠出λ>≠去(qù)了(le),而相(xiàng)應的(de)設置 fl≈±€ex-shrink 為(wèi) 1,則可(kě)以在空(kōng)間(jiān)不(bù∑₽£)足是(shì)進行(xíng)一(yī)定程度的(de)縮放(≥γ ↕fàng)。
- flex-basis:項目所占的(de)主軸空(kōng)間(jiān),如(rú)下(xδ≤ià)圖所示:
align-self:定義元素自(zì)身(shēn)的(ε<©de)對(duì)齊方式,該屬性與 align-it ems 屬性差不(bù)多(duō),具體(tǐ)就(jiù)不(bù)一(yī)一(yī&✔)介紹了(le),直接上(shàng)效果圖如(rú)下(xià):