关于最后加空白div设置清除浮动的问题?

关于最后加空白div设置清除浮动的问题?

最后加一个空白 div,并设置清除浮动clear:left或者clear:both,清除上一个div对空白div的浮动,这是什么原理呢?(我认为此时前链两个div相对父元素还是浮动的),最后一个空白div并没有设置高度,和宽度,什么原理撑起的父div呢?

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

你这样想,虽然是个空白的div,但是那个div,通过清除浮动的方式,已经把正常文档流的空间撑起来,即使前面的2个div是浮动,但是它们在文档流中的位置已经保留出来,这样能理解不?

  • 可以这样理解: 假如一个父div里面有三个div,都是左浮动,虽然我在最后一个div使用清除浮动,但只是第三个div向下移动一行,但是此时父div任然是塌陷的,因为并没有正常的元素来撑起父div,所以在父div中并没有他们的位置,只有拥有正常元素的时候才能使父div不在塌陷,不再塌陷后才能留出那些浮动div的位置,被撑起
    2017-12-14 16:42:24
  • 非常感谢!
    2017-12-19 15:39:58
怎么都被占用了呢 2017-12-14 17:18:21

是的,可以这么理解。

怎么都被占用了呢 2017-12-14 15:36:51

最后一个空白div,虽然没有宽高,但是它清除了浮动,按照文档流的顺序,它会出现在浮动元素的下方,父元素是要包裹着子元素的,这样一来,父元素的高度不就不会塌陷了。

  • 感谢你的回答,但是此时其他两个div不是相对父元素是浮动的吗?父元素要包含不也只是包含那个空白的吗?有点搞不清,麻烦了!
    2017-12-14 16:07:35
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师