[TOC]
> #### display: flex
將一個div的`display`設置為`flex`后,其中子元素默認橫向(row)排列
`flex-direction`:設置子元素的排列方向
row --默認(從左到右)
column --列排列(從上至下)
row-reverse
column-reverse
> #### flex 子元素對齊方式
```
justify-content--設置子元素水平方向的對齊方式
justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly
align-items--設置子元素垂直方向的對齊方式
align-items: flex-start | flex-end | center | stretch | baseline
stretch--高度拉伸為100%
baseline--沿基線對齊(子元素第一行文字底部對齊)
```
```
align-self--設置自身垂直的對齊方向
align-self: flex-start | flex-end | center
```
> #### flex 子元素的排列間隔
```
justify-content: flex-start|flex-end|center|space-between|space-around|space-evenly;
space-between: 兩端對齊,子元素之間間隔相對(0 1 1 1 0)
space-around: 子元素之間間隔相等,比子元素到父元素的間隔大一倍(0.5 1 1 1 0.5)
space-evenly: 父元素與子元素之間和子元素之間間隔相等 (1 1 1 1 1)
```
> #### flex子元素的單個寬度或高度比例
給子元素設置flex的值,如`flex: 1`, `flex: 2`改變子元素寬度占比
給子元素設置`flex-direction: column`,將排列改為豎排排列,再設置`flex: 1`, `flex: 2`即可改變子元素高度占比
> #### 設置子元素的排列順序
`order: 1`可改變子元素水平方向的排列順序,數值越小,放在越前面,默認為0
附加:
```
flex-wrap: 設置子元素是否會換行,默認nowrap不換行(nowrap | wrap | wrap-reverse)
flex-flow: flow-direction | flow-wrap
```
*****
參考[阮一峰flex詳解](http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html)
- 空白目錄
- 1. css選擇器
- 1.1 基礎選擇器
- 1.2 偽類
- 1.3 first-child與:first-of-type的區別
- 1.4 nth-child(:not())與nth-of-type(:not())
- 1.5 屬性選擇器
- 2. html標簽分類&css樣式繼承
- 2.1 html標簽分類
- 2.2 樣式繼承
- 2.3 font
- 3. css動畫
- 1. transition
- 2. animation
- 4. 布局位置方面
- 4.1 實現圖片左右垂直居中
- 4.2 父元素中第一個子元素margin-top無效問題
- 4.3 position定位
- 5. 關于浮動
- 5.1 浮動的呈現效果
- 5.2 清除浮動的三種方式
- 5.3 inline-block與block浮動的對比
- 6. 彈性布局
- 7. border
- 7.1 添加border不影響盒子大小的三種方式
- 7.2 利用border畫三角形
- 8. css預處理--sass
- 8.1 變量
- 8.2 嵌套
- 8.3 導入SASS文件
- 8.4 靜默注釋
- 8.5 混合器@mixin
- 8.6 繼承@extend
- 8.7.function
- ! element語法
- 9. grid 布局
- 10. filedset 使用
- css面試題
- 1.題目匯總
- 2.回流(重排)和重繪
- 3.瀏覽器渲染流程
- 4.水平垂直居中
- 5.flex布局