Flex布局
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。項目默認沿著主軸排列。單個項目占據的主軸空間叫做main size,占據的交叉軸空間叫做 cross size
3.容器的屬性
容器有6個屬性
- flex-direction
- flex-wrap
- justify-content
- align-items
- flex-flow
- align-content
flex-direction 屬性決定項目的排列方向
flex-direction: row | row-reverse | column | column-reverse
flex-wrap 屬性決定項目在一條軸線上排不下如何換行
flex-wrap: nowrap | wrap | wrap-reverse
flex-flow 屬性是 flex-direction 屬性和flex-wrap 屬性的簡寫,默認值為 row nowrap
justify-content 屬性決定了 項目在主軸上的對齊方式
justify-content: flex-start | flex-end | center | space-between | space-around
align-items 屬性決定項目在交叉軸上如何對齊
align-items : flex-start | flex-end |center | baseline | stretch
align-content 屬性定義了多跟軸線的對齊方式,如果項目只有一根軸線,該屬性不起作用
align-content:flex-start | flex-end | center | space-between | space-around | stretch
4.項目的屬性
項目有6個屬性
- order
- flex-grow
- flex-shrink
- flex-basis
- flex
- align-self
order 屬性定義項目的排列順序。數字越小,排列越靠前,默認為0
order:<interger>
flex-grow 屬性定義項目的放大比例,默認為0,既如果存在剩余空間,也不放大
flex-grow:<number> /* default 0 /
flex-shrink屬性定義了項目的縮小比例,默認為1,既如果空間不足,該項目將縮小。
flex-shrink:<number> / default 1 / 0 不縮小,負值無效
flex-basis 定義了在分配多余空間之前,項目占據的主軸空間(main size)。瀏覽器根據這個屬性,計算主軸是否有多余的空間。它的默認值為 auto, 既項目的本來大小。
flex-basis :<length> | auto
它可以設為 跟width 或height 屬性一樣的值(比如350px),則項目將占據固定空間。
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),建議優先使用這個屬性,而不是單獨寫三個分離的屬性,因為瀏覽器會推算相關值
4.6 align-selfalign-self 屬性允許單個項目與其他項目不一樣的對齊方式,可覆蓋 align-items 屬性。默認值為 auto,表示繼承父元素的 align-items 屬性,如果沒有父元素,則等于 stretch。
align-self : auto | flex-start | flex-end | center | baseline | stretch
該屬性可能取6 個值,除了auto,其它與align-items 屬性完全一致。
總結
- 上一篇: my06_sysbench instal
- 下一篇: JDBC事务和JTA事务的区别 --包含