flex布局學習筆記

2021-10-23 20:40:15 字數 2710 閱讀 1051

flex布局是什麼?

flex是flexible box的縮寫,意為」彈性布局」,用來為盒狀模型提供最大的靈活性。任何乙個容器都可以指定為flex布局

.box

webkit核心的瀏覽器,必須加上-webkit字首。

.box

基本概念採用flex布局的元素,稱為flex容器(flex container),簡稱」容器」。它的所有子元素自動成為容器成員,稱為flex專案(flex item),簡稱」專案」。

容器的屬性

flex-direction: 屬性指定了彈性子元素在父容器中的位置。

flex-direction的值有:

row:橫向從左到右排列(左對齊),預設的排列方式。

row-reverse:反轉橫向排列(右對齊,從後往前排,最後一項排在最前面。

column:縱向排列。

column-reverse:反轉縱向排列,從後往前排,最後一項排在最上面。

flex-wrap:flex-wrap 屬性用於指定彈性盒子的子元素換行方式。

各個值解析:

nowrap - 預設, 彈性容器為單行。該情況下彈性子項可能會溢位容器。

wrap - 彈性容器為多行。該情況下彈性子項溢位的部分會被放置到新行,子項內部會發生斷行

wrap-reverse -反轉 wrap 排列。

flex-flow:flex-direction 和 flex-wrap 的簡寫

justify-content:內容對齊(justify-content)屬性應用在彈性容器上,把彈性項沿著彈性容器的主軸線(main axis)對齊。

各個值解析:

flex-start:

彈性專案向行頭緊挨著填充。這個是預設值。第乙個彈性項的main-start外邊距邊線被放置在該行的main-start邊線,而後續彈性項依次平齊擺放。

flex-end:

彈性專案向行尾緊挨著填充。第乙個彈性項的main-end外邊距邊線被放置在該行的main-end邊線,而後續彈性項依次平齊擺放。

center:

彈性專案居中緊挨著填充。(如果剩餘的自由空間是負的,則彈性專案將在兩個方向上同時溢位)。

space-between:

彈性專案平均分布在該行上。如果剩餘空間為負或者只有乙個彈性項,則該值等同於flex-start。否則,第1個彈性項的外邊距和行的main-start邊線對齊,而最後1個彈性項的外邊距和行的main-end邊線對齊,然後剩餘的彈性項分布在該行上,相鄰專案的間隔相等。

space-around:

彈性專案平均分布在該行上,兩邊留有一半的間隔空間。如果剩餘空間為負或者只有乙個彈性項,則該值等同於center。否則,彈性專案沿該行分布,且彼此間隔相等(比如是20px),同時首尾兩邊和彈性容器之間留有一半的間隔(1/2*20px=10px)。

align-items:align-items 設定或檢索彈性盒子元素在側軸(縱軸)方向上的對齊方式。

各個值解析:

flex-start:彈性盒子元素的側軸(縱軸)起始位置的邊界緊靠住該行的側軸起始邊界。

flex-end:彈性盒子元素的側軸(縱軸)起始位置的邊界緊靠住該行的側軸結束邊界。

center:彈性盒子元素在該行的側軸(縱軸)上居中放置。(如果該行的尺寸小於彈性盒子元素的尺寸,則會向兩個方向溢位相同的長度)。

baseline:如彈性盒子元素的行內軸與側軸為同一條,則該值與』flex-start』等效。其它情況下,該值將參與基線對齊。

stretch:如果指定側軸大小的屬性值為』auto』,則其值會使專案的邊距盒的尺寸盡可能接近所在行的尺寸,但同時會遵照』min/max-width/height』屬性的限制。

align-content: 修改 flex-wrap 屬性的行為,類似 align-items, 但不是設定子元素對齊,而是設定行對齊

專案的屬性

order:設定彈性盒子的子元素排列順序。

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

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

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

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

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

flex布局學習筆記

布局的傳統解決方案,基於盒狀模型,依賴display屬性 position屬性 float屬性。它對於那些特殊布局非常不方便,比如,垂直居中就不容易實現。新的方案 flex 布局,可以簡便 完整 響應式地實現各種頁面布局 flex flexible box 的縮寫,彈性布局,任何乙個容器都可以指定為...

Flex布局學習筆記

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

flex布局 學習筆記

一 講解作業 二 z index用於設定定位元素顯示的層級 預設定位後的元素會在普通文件元素之上顯示,那麼如何做到讓定位後的元素顯示在文件的下方呢?設定z index的值即可 z軸概念 水平的x軸和垂直的y軸構成了乙個面,而z軸則就是垂直這個面。z index作用 z index屬性其作用就為設定乙...