面試常見整理 Flex布局 語法

2021-10-10 12:54:35 字數 2230 閱讀 5940

flex布局是什麼

flex 是 flexible box 的縮寫,意為"彈性布局",用來為盒狀模型提供最大的靈活性。任何乙個容器都可以被設定為flex布局,容器分為兩種塊flex和行內flex。

flex布局有兩層,採用flex布局的元素稱為flex容器,其子元素則自動成為flex item,即flex專案。

注意:設定為flex布局之後,子元素的float,clear和vertical-align都會失效。

flex容器屬性

容器預設存在兩根軸:水平方向的主軸(main axis)和垂直方向的交叉軸(cross axis),主軸的開始位置叫做main start,結束位置叫做main end。交叉軸的開始位置叫做cross start,結束位置叫做cross end。

容器的6個屬性:

1.flex-direction屬性

flex-direction屬性決定主軸的方向(即專案的排列方向)。

.flex-box
2.flex-wrap屬性

預設情況下,專案都排在一條線(又稱"軸線")上。flex-wrap屬性定義,如果一條軸線排不下時,如何換行。

.flex-box
3.flex-flow屬性

flex-flow屬性是flex-direction屬性和flex-wrap屬性的簡寫形式,預設值為row nowrap。

.flex-box
4.justify-content屬性

justify-content屬性定義了專案在主軸上的對齊方式。

.flex-box
5.align-items屬性

align-items屬性定義專案在交叉軸上如何對齊。

.flex-box
6.align-content屬性

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

.flex-box
flex專案屬性

專案的6個屬性:

1.order屬性

order屬性定義專案的排列順序。數值越小,排列越靠前,預設為0。

.flex-item
2.flex-grow屬性

flex-grow屬性定義專案的放大比例,預設為0,即如果存在剩餘空間,也不放大。

如果所有專案的flex-grow屬性都為1,則它們將等分剩餘空間(如果有的話)。如果乙個專案的flex-grow屬性為2,其他專案都為1,則前者佔據的剩餘空間將比其他項多一倍。

.flex-item
3.flex-shrink屬性

flex-shrink屬性定義了專案的縮小比例,預設為1,即如果空間不足,該專案將縮小。

如果所有專案的flex-shrink屬性都為1,當空間不足時,都將等比例縮小。如果乙個專案的flex-shrink屬性為0,其他專案都為1,則空間不足時,前者不縮小。

負值對該屬性無效。

.flex-item
4.flex-basis屬性

flex-basis屬性定義了在分配多餘空間之前,專案佔據的主軸空間(main size)。瀏覽器根據這個屬性,計算主軸是否有多餘空間。它的預設值為auto,即專案的本來大小。

它可以設為跟width或height屬性一樣的值(比如350px),則專案將佔據固定空間。

.flex-item
5.flex屬性

flex屬性是flex-grow, flex-shrink 和 flex-basis的簡寫,預設值為0 1 auto。後兩個屬性可選。

該屬性有兩個快捷值:auto (1 1 auto) 和 none (0 0 auto)。

建議優先使用這個屬性,而不是單獨寫三個分離的屬性,因為瀏覽器會推算相關值。

.flex-item
6.align-self屬性

align-self屬性允許單個專案有與其他專案不一樣的對齊方式,可覆蓋align-items屬性。預設值為auto,表示繼承父元素的align-items屬性,如果沒有父元素,則等同於stretch。

該屬性可能取6個值,除了auto,其他都與align-items屬性完全一致。

.flex-item

Flex布局語法

flex 是 flexible box 的縮寫,意為 彈性布局 用來為盒狀模型提供最大的靈活性。任何乙個容器都可以指定為 flex 布局。box 行內元素也可以使用 flex 布局。box webkit 核心的瀏覽器,必須加上 webkit字首。box 注意,設為 flex 布局以後,子元素的flo...

Flex布局語法

container 複製 採用flex布局的元素,稱為flex容器 flex container 簡稱 容器 它的所有子元素自動成為容器成員,稱為flex專案 flex item 簡稱 專案 設定在容器上的屬性 container 複製 container 複製 container 複製 假設主軸從...

flex 布局 語法

flex布局概念 用法 box 複製 容器預設存在兩根軸 水平的主軸和垂直的交叉軸。株洲開始的位置叫做 main start,結束位置叫做 main end 交叉軸開始的位置叫做 cross start,結束的位置叫做 cross end。專案預設沿主軸排列,單個專案佔據的主軸空間叫做 main s...