CSS 清除浮动的4种方法
程序员文章站
2024-01-28 18:32:52
...
1. 为什么要清除浮动
因为父级盒子很多情况下,不方便给高度,但是子盒子浮动就不占有位置,最后父级盒子高度为0,就影响了下面的标准流盒子。
2. 清除浮动的方法
(1)额外标签法
在浮动元素末尾添加一个空的标签例如:
<div style="clear:both"></div>
(2)父级添加overflow属性
可以给父级添加overflow
属性为hidden
或auto
或scroll
:
.Father {
overflow: hidden;
/* overflow: auto; */
/* overflow: scroll; */
}
(3)父级使用after伪元素
.Father:after {
content: "";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
/* IE6、7 专有 */
.Father {
*zoom: 1;
}
(4)父级使用双伪元素
.Father:before,
.Father:after {
content: "";
display: table;
}
.Father:after {
clear: both;
}
.Father {
*zoom: 1;
}
3. 总结
清除浮动的方式 | 优点 | 缺点 |
---|---|---|
额外标签法 | 通俗易懂,书写方便 | 添加许多无意义的标签,结构化较差 |
父级添加overflow属性 | 书写简单 | 溢出隐藏 |
父级使用after伪元素 | 结构语义化正确 | 由于IE6-7不支持:after,兼容性问题 |
父级使用双伪元素 | 结构语义化正确 | 由于IE6-7不支持:after,兼容性问题 |
上一篇: 两分钟学会用js画动态表
下一篇: 栈和队列的应用:迷宫问题