Flex

Flex布局是前端比較靈活的一種布局方式,能否滿足各種布局要求和需求,在React Native 小程序 Flutter中都有廣泛的應(yīng)用。

首先從Flex對象上,分為兩類對象:
1.flex container,flex容器類,里面的元素會按照flex模式來布局。 元素聲明css屬性display:flex或者inline-flex,即為flex container。
2.flex item , 處于flex container下的直接子元素,即為flex item類。



flex container上的容器相關(guān)flex核心屬性有以下:

  • flex-direction 用來指定main axis和cross axis方向。
  • justify-content 用來指定flex item在main axis的對齊方式
  • align-items 指定flex item在cross axis的對齊方式
  • flex-wrap 指定flex container是單行還是多行
  • align-content 指定多行flex item在cross axis的對齊方式

flex item上的容器相關(guān)flex核心屬性有以下:

  • align-self 用于覆蓋flex container設(shè)置的align-items,單獨決定該flex item 在cross axis的對齊方式。
  • flex-grow 決定flex item在main axis上如何擴展,只有flex-container還有剩余的size時,這個屬性才生效。如果所有items這個值的總和為sum,sum>=1,則grow屬性作為權(quán)重比參與擴展,擴展大小=itemSize * grow / sum,如果sum<1,則擴展大小=itemSize * grow。默認是0,就是默認不參與擴展。
  • flex-shrink 決定flex item在main axis上如何收縮,只有超出flex-container時,這個屬性才會生效,計算比較麻煩,不建議使用。默認是1,就是默認會參與收縮,而且是按用戶size大小比例參與收縮至container限制大小。如果均為0,則表示不參與收縮。
  • flex-basis 用來設(shè)置flex item在main axis方向的size,默認auto/content,是由內(nèi)容本身的size決定。flex item最終的size,由不同優(yōu)先級屬性來指定,最高一級 max-XX min-X > flex-basis > width/height > 內(nèi)容本身的size

組合屬性:

  • flex container:
  • flex-flow 是 flex-direction || flex-wrap 簡寫
  • flex item:
  • flex 是 flex-grow flex-shrink? || flex-basis 簡寫
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • flex是flexible Box的縮寫,意為"彈性布局",用來為盒狀模型提供最大的靈活性。任何一個容器都可以指定...
    胡蘿卜櫻閱讀 857評論 0 1
  • 傳統(tǒng)的網(wǎng)頁布局基于盒裝模型,使用display,position,float屬性來達成各種布局。對于一些特殊的布局...
    exialym閱讀 2,766評論 0 11
  • flex簡介 當(dāng)我們需要多行多列自適應(yīng),任意行對齊時。便可用flex布局實現(xiàn)。Flex是Flexible Box的...
    穆瑟muse閱讀 1,180評論 0 5
  • 作者: 阮一峰日期: 2015年7月10日原文鏈接:http://www.ruanyifeng.com/blog/...
    Mike_Gu閱讀 1,056評論 0 6
  • 2013年以來,比特幣受到了全世界投資者的狂熱追捧,雖然幾經(jīng)漲跌,大部分國家監(jiān)管方對其態(tài)度也不甚明朗,但作為比特...
    簡單就好22閱讀 195評論 0 0

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