3分钟看懂flex布局

首先要有个容器,并设置display:flex;display:-webkit-flex;该容器有以下六个属性:

1
2
3
4
5
6
7
8
9
10
11
12
flex-direction (元素排列方向)
    row, row-reverse, column, column-reverse
flex-wrap (换行)
    nowrap, wrap, wrap-reverse
flex-flow (以上两者的简写)
    flex-direction || flex-wrap
justify-content (水平对齐方式)
    flex-start, flex-end, center, space-between, space-around
align-items (垂直对齐方式)
    stretch, flex-start, flex-end, center, baseline
align-content (多行垂直对齐方式)
    stretch, flex-start, flex-end, center, space-between, space-around

项目的属性:

1
2
3
4
5
6
7
8
9
10
11
order 排列顺序,数值,默认0
    "integer"
flex-grow 如图示7,定义放大比例,默认0,即如果存在剩余空间,也不放大。
    "number"
flex-shrink 如图示8,定义缩小比例,默认1,如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。
    "number"
flex-basis 定义项目占据的主轴空间,默认auto。会根据flex-direction定义的主轴(水平或者垂直),定义项目本来的大小,跟width或者height一样。
flex 推荐,以上三个的缩写,默认 0 1 auto
    "flex-grow" "flex-shrink" "flex-basis"
align-self 如图示9,单个项目有与其他项目不一样的对齐方式,可覆盖align-items
    "auto","flex-start","flex-end","center","baseline","stretch" 

1.flex-direction

1
2
3
4
row (从左往右)默认
row-reverse (从右往左)
column (从上往下)
column-reverse (从下往上)

2.flex-wrap

1
2
3
nowrap (不换行)默认
wrap (换行,且往下一行换)
wrap-reverse (换行,且往上一行换)

 

3.flex-flow,是flex-direction和flex-wrap的简写形式。

1
flex-flow:<flex-direction> || <flex-wrap>;

4.justify-content

1
2
3
4
5
flex-start
flex-end
center
space-between
space-around

 

5.align-items

1
2
3
4
5
stretch 默认
flex-start
flex-end
center
baseline 项目第一行文字的基准线对齐

  

6.align-content

1
2
3
4
5
6
stretch 默认
flex-start
flex-end
center
space-between
space-around

 

7.flex-grow

定义了放大比例,默认为0,即如果存在剩余空间,也不会放大。但是,如果所有项目的flex-grow属性为1,则他们将等分剩余空间(如果有的话),如果其中一个为2,则他是其他项目的2倍宽度。

 

8.flex-shrink

定义了项目的缩小比例,默认为1,即如果空间不足,项目将缩小。如果有一个项目的flex-shrink为0,其他都为1,空间不足时,前者不缩小。

 

9.align-self,定义项目自己的对齐方式

 

posted @ 2017-11-10 16:40  云来云往  阅读(177)  评论(0编辑  收藏  举报