使用clear清除浮动对外边距的影响
使用clear后,浮动元素的下外边距能起作用,但是使用clear的这个元素的上外边距失效了,不起作用。这是怎么回事啊
48
收起
正在回答
3回答
clear元素设置了margin-top,由于它和它的父元素(这里就是body)之间并没有间隙(例如border、padding),会发生垂直外边距合并。因此,此时margin-top相当于作用在了body上,所以浮动元素left的初始排版位置就会改变到那个地方。你可以试试为body增加padding-top: 1px;,这时候就有了间隙,也就不会发生合并。
宝慕林3319090
2017-08-14 10:07:56
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
margin: 0;
padding: 0;
}
.left{
width: 100px;
height: 100px;
background: red;
float: left;
}
.clear{
width: 200px;
height: 200px;
background: blue;
margin-top: 100px;
}
</style>
</head>
<body>
<div class="left"></div>
<div class="clear"></div>
</body>
</html>这里浮动的div为什么也跟着下面的div下移啊,下面的div用clear后 浮动元素就跑上去了。
前端小白入门系列课程
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星