浮动
# 1 为什么需要浮动
首先, 思考一下下面的问题:
- 如何让多个块盒(div)水平排列成一行?
- 如何实现块盒的左右对齐?
# 2 什么是浮动
概念
设置了浮动属性的元素会
- 脱离标准普通流
- 移动到指定位置
浮动最早的出现, 是为了实现图文混排的, 但是随后, 大家发现可以通过浮动来实现布局
# 3 语法
选择器 {
float: left/right;
}
1
2
3
2
3
属性值 | 描述 |
---|---|
none | 元素不浮动(默认值) |
left | 元素向左浮动 |
right | 元素向右浮动 |
让一个元素向左或向右浮动
# 4 特性
# 1) 脱标
设置了浮动的元素会脱离标准流, 不再占用原来的位置, 后面的盒子会向上跑
.box1 {
float: left;
width: 200px;
height: 200px;
background-color: rgba(255, 0, 0, 0.5);
}
.box2 {
width: 150px;
height: 300px;
background-color: skyblue;
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 2) 改变display
float属性会改变元素display属性。
任何元素都可以浮动。浮动元素会生成一个块盒,而不论它本身是何种元素。
生成的块盒和我们前面的行内块极其相似
- 同在一行显示
- 可以设置宽高
# 5 应用
我们知道,浮动是脱标的,会影响下面的标准流青霉素
因此, 我们需要给浮动的元素添加一个标准流的父元素,这样可以最大化的减小了对其他标准流的影响
# 1) 实现头部布局
- 左边是一个logo
- 右边是导航
# 2) 实现内容布局
# 3) 演示padding改变的影响
# 6 清除浮动
# 1) 为什么要清除浮动
因为父级盒子很多情况下,不方便给高度,但是子盒子浮动就不占有位置,最后父级盒子高度为0,就影响了下面的标准流盒子
# 2) 如何清除浮动
目前使用最多的方式, 使用:after伪元素
示例
.clearfix:after {
content: "";
display: block;
clear: both;
}
1
2
3
4
5
2
3
4
5
如果觉得有帮助, 可以微信扫码, 请杰哥喝杯咖啡~
上次更新: 2021/09/03, 15:32:17