web前端入門到實戰:彈性佈局(display:flex;)屬性詳解

1、Flex佈局-前言

Flex是Flexible Box的縮寫,意爲」彈性佈局」,用來爲盒狀模型提供最大的靈活性,旨在提供一個更有效地佈局、對齊方式,而且可以使容器中的子元素大小未知或動態變化狀況下仍然可以分配好子元素之間的空間。前端

Flex 佈局的主要思想是使父容器可以調節子元素的寬度/高度(和排列順序),從而可以最好地填充可用空間(主要是爲了適應全部類型的顯示設備和屏幕尺寸)。flex布容器可以放大子元素使之儘量填充可用空間,也能夠收縮子元素使之不溢出。web

最重要的是,flexbox佈局與方向無關,不一樣於常規佈局(基於垂直的塊(block)和基於水平的內聯(inline))。 雖然傳統佈局適用於頁面,但它們對於大型或複雜的應用程序佈局來講缺少靈活性(特別是在改變方向,調整大小,拉伸,收縮等方面)。ide

注:佈局

  • Flexbox佈局最適合應用程序的組件和小規模佈局,而 Gird 佈局則適用於較大規模的佈局。
  • 設爲Flex佈局之後,子元素的float、clear和vertical-align屬性將失效。

2、 基本概念

採用 Flex 佈局的元素,稱爲 Flex 容器(flex container),簡稱"容器"。它的全部子元素自動成爲容器成員,稱爲 Flex 項目(flex item),簡稱"項目"。學習

web前端入門到實戰:彈性佈局(display:flex;)屬性詳解

3、容器的屬性

web前端入門到實戰:彈性佈局(display:flex;)屬性詳解

display:flex;

web前端入門到實戰:彈性佈局(display:flex;)屬性詳解

flex-direction

web前端入門到實戰:彈性佈局(display:flex;)屬性詳解

web前端入門到實戰:彈性佈局(display:flex;)屬性詳解

justify-content

web前端入門到實戰:彈性佈局(display:flex;)屬性詳解

space-around 和 space-between 這兩個值的區別不能很直觀的理解。
space-between 是兩端對齊,使每一個矩形子元素(flex項)之間的間隔是相等的,但兩端的矩形子元素(flex項)不會和容器之間產生間隔。flex

space-around 則會在每一個矩形子元素(flex項)的兩邊產生一個相同大小的間隔,也就是說兩端的矩形子元素(flex項)和容器之間的間隔大小正好是兩個矩形子元素(flex項)之間間隔大小的一半(每一個矩形子元素產生的間隔不會重疊,因此間隔變成兩倍)。flexbox

align-items

web前端入門到實戰:彈性佈局(display:flex;)屬性詳解

(注意 對於 align-items: stretch 來講,必須將每個矩形子元素(flex項)的高度設置爲 auto,不然 height 屬性將會覆蓋該 stretch)spa

對於 align-items: baseline 來講,要注意若是去掉段落標籤或者沒內容,矩形子元素(flex項)就會按照每一個矩形的底部對齊,以下圖所示:code

web前端入門到實戰:彈性佈局(display:flex;)屬性詳解

爲了更好地演示主軸和交叉軸的區別,讓咱們結合 justify-content和align-items,看看在 flex-direction 兩個不一樣屬性值的做用下,軸心有什麼不一樣:視頻

web前端入門到實戰:彈性佈局(display:flex;)屬性詳解

align-content

align-content屬性定義了多根軸線的對齊方式。若是項目只有一根軸線,該屬性不起做用。

web前端入門到實戰:彈性佈局(display:flex;)屬性詳解

4、項目的屬性

web前端入門到實戰:彈性佈局(display:flex;)屬性詳解

web前端開發學習Q-q-u-n: 731771211,分享學習的方法和須要注意的小細節,不停更新最新的教程和學習方法(詳細的前端項目實戰教學視頻,PDF)

注:項目屬性的全面理解較爲複雜,你們能夠收藏後再慢慢研究

相關文章
相關標籤/搜索