我是靠谱客的博主 傲娇向日葵,这篇文章主要介绍day17-弹性盒布局,现在分享给大家,希望可以做个参考。

<!--

    一:弹性盒的概念

    1.容器:设置了弹性盒属性的父级盒子

    2.项目:在容器里面的子级元素

    3.作用:控制项目在容器里面的排列位置

    二:弹性盒的设置

    1.属性:display(显示)

    2.属性值:flex(弹性的)

    3.弹性盒的基本特点

        - 元素设置了弹性盒属性,就会有主轴和侧轴的概念

        - 弹性盒中默认的主轴方向是X轴,所有的项目都会沿着主轴排列(主侧轴是对应关系)

        - 弹性盒中不考虑元素类型,所有的标签都可以直接添加宽高大小

        - 居中方式:给子级元素设置 margin:auto 即可

    三:关于弹性盒使用的注意点

    1.盒模型、定位、浮动、位移这些属性能用吗? 暂时把浮动属性忘记

    2.是否会脱离文档流呢? 不会

    3.在弹性盒不需要清除浮动也不会出现高度塌陷的bug

 -->

    添加在容器上的属性

    一:改变主轴的排列方向:默认的主轴是X轴

    1.属性:flex-direction

    2.属性值

        - row 行、默认主轴是X轴,侧轴是Y轴

        - column 列、默认主轴是Y轴,侧轴是X轴

    二:设置主轴上的排列方式

    1.属性:justify-content

    2.属性值

        - flex-start 在主轴的开始位置

        - flex-end 在主轴的结束位置

        - center 在主轴的中间位置

        - space-between 两端对齐,其余空间自动分配

        - space-around 项目的左右间距是自动分配的(相等的)

        - space-evenly 表示所有的空间全部自动分配(相等的)

    三:设置侧轴上的排列方式

    1.属性:align-items

    2.属性值:

        - flex-start 在主轴的开始位置

        - flex-end 在主轴的结束位置

        - center 在主轴的中间位置

        - baseline 基线对齐(默认情况下和flex-start效果一样)

        - stretch 拉伸(没有设置高度的时候)

    四:在pc端布局中当元素宽度过多的时候,最后的元素会往下掉(之前解决方法:min-width/百分比)

    当子级元素的宽度大于父级元素宽度的时候默认是进行挤压的(不会掉下去)

    1.属性:flex-wrap

    2.属性值

        - no-wrap 不换行

        - wrap 换行

    五:行与行之间的间距设置

    1.属性:align-content

    2.属性值

        - flex-start 在主轴的开始位置【常用】

        - flex-end 在主轴的结束位置

        - center 在主轴的中间位置

        - space-between 两端对齐,其余空间自动分配

        - space-around 项目的左右间距是自动分配的(相等的)

        - space-evenly 表示所有的空间全部自动分配(相等的)

 -->

弹性盒中基线对齐的认识:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> section{ width: 700px; height: 550px; border: 1px solid #000; margin: 100px auto; display: flex; /* flex-direction: column-reverse */ /* justify-content: space-evenly; */ align-items: baseline } /* span{ */ /* width: 100px; */ /* height: 100px; */ /* background: #000; */ /* color: #fff; */ /* text-align: center; */ /* line-height: 100px; */ /* font-size: 30px; border-radius: 50%; */ /* } */ span:nth-child(1){ font-size: 20px; } span:nth-child(2){ font-size: 30px; } span:nth-child(3){ font-size: 40px; } span:nth-child(4){ font-size: 50px; } span:nth-child(5){ font-size: 60px; } </style> </head> <body> <section> <span>1</span> <span>2</span> <span>3</span> <span>4</span> <span>5</span> </section> </body> </html>

<!--

    添加在子级元素上的属性

    一:控制项目的显示顺序

    1.属性:order

    2.属性值:数字,数字越大越往后显示

    二:设置单个元素在侧轴上的对齐方式

    1.属性:align-self

    2.属性值

        - flex-start/end/center

    三:【重点】子级元素在父级元素中的主轴方向占比方式

    1.属性:flex

    2.属性值:数字,表示在父级中所占的比例

        - 常见的情况:1、2、3、4

        - 重要的情况: flex:1

 -->

<!--

    flex为1是由三个属性复合而成:flex-grow、flex-shrink、flex-basis

    1.flex-grow 表示当前元素比其他元素设置更多的宽度

        - 0 表示正常显示

        - 1 表示自动分配空间

    2.flex-shrink 表示当前元素相对其他元素进行显示减小的宽度

        - 0 不会收缩

        - 1 会收缩

    3.flex-basis 子级元素的宽度

    4.总结

        - 关于三个属性的默认值:0 1 auto 表示当前主体内容正常显示,并且会根据终端大小进行收缩显示

        - 关于三个属性的重要值:1 1 0% 表示当前主体内容会根据主轴剩下空间自动分配,并且会根据手机屏幕大小进行收缩显示,如果有很多子级内容的时候会自动撑开的大小 可以简写为flex:1

 -->

<!-- <figure>

            <img src="images/1.jpg" alt="">

            <figcaption>往后余生洗衣是你做饭也是你</figcaption>

        </figure> -->

        <!-- (figure>img[src="images/$.jpg"]+figcaption{往后余生洗衣是你做饭也是你})*45 -->

        <figure>

最后

以上就是傲娇向日葵最近收集整理的关于day17-弹性盒布局的全部内容,更多相关day17-弹性盒布局内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(96)

评论列表共有 0 条评论

立即
投稿
返回
顶部