1.html代码
1 <div class="box"> 2 <div class="first">1</div> 3 <div class="second">2</div> 4 <div class="third">3</div> 5 <div class="fourth">4</div> 6 <div class="fifth">5</div> 7 </div>
2.justify-content:属性:设置子元素的排列方式
1 <style>
2 .box{
3 width: 1000px;
4 height: 200px;
5 border: 1px solid red;
6 box-sizing: border-box;
7 /*设置为父容器为盒子:会使每一个子元素自动变成伸缩项*/
8 display: flex;
9 /*设置子元素的排列方式*/
10 /*flex-start:让子元素从父容器的起始位置开始排列
11 flex-end:让子元素从父容器的结束位置开始排列
12 center:让子元素从父容器的中间位置开始排列
13 space-between:左右对其父容器的开始和结尾,中间平均分页,产生相同过的间距
14 space-around:将多余的空间平均的分页在给每一个子元素的两边 margin:0 auto :造成中间合资的间距是左右两边盒子间距的两倍
15 space-evenly:使子元素平均分布在把父容器中,且间距相同
16 */
17 justify-content: space-evenly;
18 }
19 .box > div{
20 width: 200px;
21 height: 100%;
22 }
23 .first{
24 width: 200px;
25 height: 100%;
26 background-color: #65ffdd;
27 }
28 .second{
29 background-color: #5aff61;
30 }
31 .third{
32 background-color: #efffc7;
33 }
34 .fourth{
35 background-color: #47b3ff;
36 }
37 </style>
效果图:

3.flex-flow:属性:可以代替 flex-wrap和flex-direction
1 <style>
2 .box{
3 width: 900px;
4 height: 600px;
5 border: 1px solid red;
6 box-sizing: border-box;
7 margin: 0 auto;
8 /*设置父容器为盒子:会使每个子元素自动变成伸缩项
9 当子元素的宽高和大于父容器宽度的时候,子元素就自动平均收缩*/
10
11 display: flex;
12 /*设置子元素在主轴上的排列方式*/
13 justify-content: space-evenly;
14 /* flex-wrap:控制子元素是否换行显示,默认不换行
15 noweap:不换行---则收缩
16 wrap:换行显示
17 wrap-reverse:翻转
18 */
19 /*flex-wrap: wrap;*/
20 /*flex-direction:设置子元素的排列方向:就是用来设置主轴方向,默认主轴方向是row
21 row水平
22 column:垂直*/
23 /*flex-direction: column-reverse;*/
24
25 /*flex-flow:可以代替 flex-wrap和flex-direction*/
26 flex-flow: column wrap;
27 }
28 .first{
29 width: 200px;
30 height: 200px;
31 background-color: #65ffdd;
32 }
33 .second{
34 width: 200px;
35 height: 200px;
36 background-color: #5aff61;
37 }
38 .third{
39 width: 200px;
40 height: 200px;
41 background-color: #efffc7;
42 }
43 .fourth{
44 width: 200px;
45 height: 200px;
46 background-color: #47b3ff;
47 }
48 .fifth{
49 width: 200px;
50 height: 200px;
51 background-color: #ff510a;
52 }
53 </style>
效果图:

4.flex-grow:属性:可以来扩张子元素的宽度:设置当前元素应该占据生于空间的比例值,比例值计算:当前空间的flex-grow/所有兄弟元素的flex-grow的和
1 <style>
2 .box {
3 width: 900px;
4 height: 600px;
5 border: 1px solid red;
6 margin: 0 auto;
7 /*设置父容器为盒子:会使每个子元素自动变成伸缩项
8 当子元素的宽高和大于父容器宽度的时候,子元素就自动平均收缩*/
9
10 display: flex;
11 /*设置子元素在主轴上的排列方式*/
12 justify-content: space-evenly;
13
14
15 }
16 .first{
17 width: 200px;
18 height: 200px;
19 background-color: #65ffdd;
20 /*flex-grow: 可以来扩张子元素的宽度:设置当前元素应该占据生于空间的比例值,
21 比例值计算:当前空间的flex-grow/所有兄弟元素的flex-grow的和
22 flex-grow的默认值是0:说明子元素不会去占据生于的空间
23 */
24 flex-grow: 1;
25 }
26 .second{
27 width: 200px;
28 height: 200px;
29 background-color: #5aff61;
30 flex-grow: 1;
31 }
32 .third{
33 width: 200px;
34 height: 200px;
35 background-color: #efffc7;
36 flex-grow: 1;
37 }
38 </style>
效果图:

5.flex-shrink:属性:定义收缩比例,通过设置的值来计算的收缩空间比例值计算:当前空间的flex-shrink/所有兄弟元素的flex-shrink的和。默认值为1
1 <style>
2 .box {
3 width: 500px;
4 height: 600px;
5 border: 1px solid red;
6 margin: 0 auto;
7 /*设置父容器为盒子:会使每个子元素自动变成伸缩项
8 当子元素的宽高和大于父容器宽度的时候,子元素就自动平均收缩*/
9 display: flex;
10 /*设置子元素在主轴上的排列方式*/
11 justify-content: space-evenly;
12 }
13 .first{
14 width: 200px;
15 height: 200px;
16 background-color: #65ffdd;
17 /*flex-shrink:定义收缩比例,通过设置的值来计算的收缩空间
18 比例值计算:当前空间的flex-shrink/所有兄弟元素的flex-shrink的和
19 默认值为1
20 */
21 flex-shrink: 2;
22 }
23 .second{
24 width: 200px;
25 height: 200px;
26 background-color: #5aff61;
27 flex-shrink: 0;
28 }
29 .third{
30 width: 200px;
31 height: 200px;
32 background-color: #efffc7;
33
34 }
35 </style>
效果图:

6.flex:属性:设置当前伸缩子项占据生于空间的比例值
1 <style>
2 .box {
3 width: 100%;
4 height: 500px;
5 background-color: #ccc;
6 margin: 0 auto;
7 /*设置父容器为盒子:会使每个子元素自动变成伸缩项
8 当子元素的宽高和大于父容器宽度的时候,子元素就自动平均收缩*/
9
10 display: flex;
11 /*设置子元素在主轴上的排列方式*/
12 /*justify-content: space-evenly;*/
13 }
14 .first{
15 /*设置当前伸缩子项占据生于空间的比例值*/
16 flex: 1;
17 height: 100%;
18 background-color: #65ffdd;
19 }
20 .second{
21 flex: 4;
22 height: 100%;
23 background-color: #5aff61;
24 }
25 </style>
效果图:

7.align-items:属性:设置子元素在侧轴方向上的对其方式
1 <style>
2 .box{
3 width: 900px;
4 height: 600px;
5 border: 1px solid red;
6 margin: 0 auto;
7 /*设置父容器为盒子:会使每个子元素自动变成伸缩项
8 当子元素的宽高和大于父容器宽度的时候,子元素就自动平均收缩*/
9
10 display: flex;
11 /*align-items:设置子元素在侧轴方向上的对其方式
12 center:设置在侧轴方向上居中对齐
13 flex-start:设置在侧轴方向上顶对其
14 flex-end:设置在侧轴方向上低对齐
15 stretch:拉伸 :让我的子元素在侧轴方向上尽享拉伸,填充满整个侧轴方向
16 baseline:文本基线对齐
17 */
18 align-items: center;
19 }
20 .first{
21 width: 200px;
22 height: 200px;
23 background-color: #65ffdd;
24 }
25 .second{
26 width: 200px;
27 height: 200px;
28 background-color: #5aff61;
29 /*设置单个元素在侧轴方向上的对齐方式*/
30 align-self: flex-end;
31 }
32 .third{
33 width: 200px;
34 height: 200px;
35 background-color: #efffc7;
36 }
37
38 </style>
效果图:
