使用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 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星