知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
您當前位置>首頁 » 新聞資訊 » 小程序相關(guān) >
Flex布局在小程序的使用
發(fā)表時間:2022-9-6
發(fā)布人:葵宇科技
瀏覽次數(shù):75
Flex布局是一種十分靈活方便的布局方式,目前主流的現(xiàn)代瀏覽器基本都實現(xiàn)了對Flex布局的完全支持。而在微信小程序中,IOS端使用的渲染引擎WKWebView和安卓端使用的X5 ,也都實現(xiàn)了對Flex的支持。所以為了在小程序開發(fā)中更方便地布局,有必要來詳細了解下Flex布局在小程序的使用。本文將針對Flex布局的各個屬性進行介紹,并直接使用wxss來編寫例子,運行環(huán)境是小程序的開發(fā)者工具。
Flex布局的基本概念
Flex布局直接應用于一個Flex容器,布局的對象是容器中的各個項目元素(“item”)。項目元素布局的核心概念在于兩條軸:主軸和交叉軸,通過控制項目元素在主軸、交叉軸上的排列方式進行布局,參見下圖:
這里要注意兩條軸的方向不是固定的(可以通過flex-direction來控制);此外一個Flex容器里可以再包含F(xiàn)lex容器,也就是能擁有多根主軸和交叉軸。
Flex容器屬性
容器屬性有6個:
- flex-direction
- flex-wrap
- flex-flow
- justify-content
- align-items
- align-content
flex-direction
設定主軸方向:
- row →(默認)
- row-reverse ←
- column ↓
- column-reverse↑
flex-wrap
規(guī)定如果容器在主軸方向無法容下所有項目,主軸上的項目如何換行(flex-direction為column和column-reverse時,就是“換列”了):
- nowrap(默認),即不作換行,各個項目相接觸時會擠壓使寬度變小
- wrap:換行,正常從上到下
- wrap-reverse:換行,只是各行在交叉軸上的排列方向和wrap時相反
flex-flow
flex-direction和flex-wrap的簡寫,默認值為“row wrap”。
justify-content
所有項目在主軸上對齊方式:
- none(默認)
- center:在主軸上居中
- flex-start:主軸起點對齊
- fex-end:主軸終點對齊
- space-between:兩端對齊,項目間間隔相等
- space-around:各項目兩側(cè)間隔相等
align-items
所有項目在交叉軸上對齊方式:
- stretch(默認),即項目取auto大小時拉伸以占滿容器的在交叉軸方向上的大小
- center:在交叉軸上居中
- flex-start:交叉軸起點對齊
- flex-end: 交叉軸終點對齊
- baseline:各項目第一行文字的基線對齊
align-content
定義了多根主軸的對齊方式,如果項目只有一根主軸則不起作用,多根主軸一般會在主軸上折行時出現(xiàn):
- stretch(默認),即auto大小時主軸線上的項目會拉伸來占滿整個交叉軸。
- center:在交叉軸上居中
- flex-start:交叉軸起點對齊
- flex-end: 交叉軸終點對齊
- space-between:兩端對齊,項目間間隔相等
- space-around:各項目兩側(cè)間隔相等
Flex項目屬性
項目屬性有6個:
- order
- flex-basis
- flex-grow
- flex-shrink
- flex
- align-self
order
定義項目排列序號;默認為0,可為負:
flex-basis
在Flex項目自適應放大縮小之前,項目占據(jù)的主軸空間的基值。
默認值為auto,即項目的本來大小:
flex-grow
注意該屬性指定的是項目對剩余空間的瓜分比例,這里有兩個關(guān)鍵點:
- 容器在主軸上要有剩余空間
- 該屬性是對剩余空間的瓜分,也即項目的最終大小是各項目的flex-basis大小、再加上瓜分得到的大小
默認為0,即如果存在剩余空間也不放大(grow),不可為負:
flex-shrink:
空間不足時項目對縮小份額的瓜分比例,還是有兩個關(guān)鍵點:
- 容器在主軸上空間不足以放下所有的項目
- 空間不足可以讓項目縮小,而該屬性就是對縮小份額的瓜分,也即項目的最終大小是各項目的flex-basis大小、再減去瓜分得到的縮小份額
默認為1,即如果空間不足項目將縮小,不可負:
flex
flex-grow, flex-shrink 和 flex-basis的簡寫。
默認值為“0 1 auto”,還有兩個值auto即“1 1 auto”、none即“0 0 auto”。
align-self
讓一個項目有與其他項目不同的交叉軸對齊方式,主要用來覆蓋align-items屬性。
默認值是auto,即繼承父元素的align-items屬性,若無父元素則等同于stretch;其他值效果和align-items一樣。
總結(jié)
Flex布局也叫彈性布局,個人理解所謂“彈性”主要體現(xiàn)在Flex項目的自伸縮上。主軸上的自伸縮主要通過flex-grow、flex-shrink來控制,交叉軸上的自伸縮則體現(xiàn)在align-*屬性的默認值stretch上。
一些注意點
- 一些屬性會在對Flex項目上無效:column-*屬性、float 和 clear、vertical-align 。
- 在Flex容器使用 float 會導致Flex布局失效。
參考
Flex 布局教程
相關(guān)案例查看更多
相關(guān)閱讀
- 小程序的開發(fā)公司
- 云南小程序開發(fā)公司推薦
- 快排推廣
- 網(wǎng)站沒排名
- 云南網(wǎng)站建設報價
- 云南網(wǎng)站建設快速優(yōu)化
- 怎么做網(wǎng)站
- 汽車報廢管理
- 商標
- 云南網(wǎng)絡營銷顧問
- 模版信息
- 網(wǎng)站建設哪家強
- 云南百度小程序
- 軟件開發(fā)
- python開發(fā)小程序
- 微信小程序
- Web開發(fā)框架
- 云南網(wǎng)站建設列表網(wǎng)
- 昆明網(wǎng)站制作
- 報廢車回收管理軟件
- 網(wǎng)絡公司電話
- 大理小程序開發(fā)
- 網(wǎng)站開發(fā)哪家好
- 云南網(wǎng)頁制作
- 云南網(wǎng)站建設公司排名
- 小程序用戶登錄
- 網(wǎng)站建設特性
- 全國前十名小程序開發(fā)公司
- 旅游網(wǎng)站建設
- 云南軟件設計