[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布局