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屬性其作用就為設定乙...