日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Flex布局

發(fā)布時間:2024/4/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flex布局 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.什么是Flex布局

Flex 是flexible Box 的縮寫,意為“彈性布局”,用來為盒裝模型提供最大的靈活性。任何一個容器都可以指定為Flex 布局。
鏈接參考

2.基本概念

采用Flex布局的元素,稱為容器(flex container),簡稱‘容器’。它的所有子元素自動成為容器成員,稱為Flex項目(flex item),簡稱項目“”

容器默認存在兩根軸: 水平的主軸(main axis)垂直的交叉軸 (cross axis)。主軸的開始位置(與邊框的交叉點)叫 main start ,結束位置叫main end;交叉軸的開始位置叫 cross start ,結束位置叫cross end。項目默認沿著主軸排列。單個項目占據(jù)的主軸空間叫做main size,占據(jù)的交叉軸空間叫做 cross size

3.容器的屬性

容器有6個屬性

  • flex-direction
  • flex-wrap
  • justify-content
  • align-items
  • flex-flow
  • align-content
3.1 flex-direction

flex-direction 屬性決定項目的排列方向

flex-direction: row | row-reverse | column | column-reverse

  • row : 水平排列
  • row-reverse:水平反轉
  • column:垂直排列
  • column-reverse:垂直反轉
  • 3.2 flex-wrap

    flex-wrap 屬性決定項目在一條軸線上排不下如何換行

    flex-wrap: nowrap | wrap | wrap-reverse

  • nowrap:默認值,不換行
  • wrap: 換行,第一行在上方
  • wrap-reverse: 換行,第一行在下方
  • 3.3 flex-flow

    flex-flow 屬性是 flex-direction 屬性和flex-wrap 屬性的簡寫,默認值為 row nowrap

  • flex-flow : row nowrap
  • 3.4 justify-content

    justify-content 屬性決定了 項目在主軸上的對齊方式

    justify-content: flex-start | flex-end | center | space-between | space-around

  • flex-start: 左對齊
  • flex: 右對齊
  • center:居中
  • space-between: 兩端對齊,項目之間的間隔相等
  • space-around:每個項目的兩側間隔相等。所以項目之間的間隔比項目與邊框的間隔大一倍。
  • 3.5 align-items

    align-items 屬性決定項目在交叉軸上如何對齊

    align-items : flex-start | flex-end |center | baseline | stretch

  • flex-start:交叉軸的起點對齊(從上到下)
  • flex-end : 交叉軸的終點對齊(從下到上)
  • center: 交叉軸的中點對齊(中間)
  • baseline:項目的第一行文字的基線對齊(文字基線)
  • stretch:(默認值),若果項目未設置高度,或設置為auto,項目將占滿整個容器高度
  • 3.6 align-content

    align-content 屬性定義了多跟軸線的對齊方式,如果項目只有一根軸線,該屬性不起作用

    align-content:flex-start | flex-end | center | space-between | space-around | stretch

  • flex-start:與交叉軸的起點對齊
  • flex-end:與交叉軸的終點對齊
  • center: 與交叉軸的中點對齊
  • space-between : 與交叉軸的兩端對齊,軸線之間的間隔平均分布
  • space-around :每根軸線兩側的間隔相等。
  • stretch:默認值,軸線占滿整個交叉軸
  • 4.項目的屬性

    項目有6個屬性

    • order
    • flex-grow
    • flex-shrink
    • flex-basis
    • flex
    • align-self
    4.1 order

    order 屬性定義項目的排列順序。數(shù)字越小,排列越靠前,默認為0
    order:<interger>

    4.2 flex-grow

    flex-grow 屬性定義項目的放大比例,默認為0,既如果存在剩余空間,也不放大
    flex-grow:<number> /* default 0 /

    4.3 flex-shrink

    flex-shrink屬性定義了項目的縮小比例,默認為1,既如果空間不足,該項目將縮小。
    flex-shrink:<number> / default 1 / 0 不縮小,負值無效

    4.4 flex-basis

    flex-basis 定義了在分配多余空間之前,項目占據(jù)的主軸空間(main size)。瀏覽器根據(jù)這個屬性,計算主軸是否有多余的空間。它的默認值為 auto, 既項目的本來大小。

    flex-basis :<length> | auto
    它可以設為 跟width 或height 屬性一樣的值(比如350px),則項目將占據(jù)固定空間。

    4.5 flex 屬性

    flex 屬性 是 flex-grow , flex-shrink 和flex-basis 的簡寫,默認值為 0 1 auto 。后兩個屬性可選

    flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]

    該屬性有兩個快捷鍵值 auto( 1 1 auto) 和 none(0 0 auto),建議優(yōu)先使用這個屬性,而不是單獨寫三個分離的屬性,因為瀏覽器會推算相關值

    4.6 align-self

    align-self 屬性允許單個項目與其他項目不一樣的對齊方式,可覆蓋 align-items 屬性。默認值為 auto,表示繼承父元素的 align-items 屬性,如果沒有父元素,則等于 stretch。
    align-self : auto | flex-start | flex-end | center | baseline | stretch
    該屬性可能取6 個值,除了auto,其它與align-items 屬性完全一致。

    總結

    以上是生活随笔為你收集整理的Flex布局的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。