为什么例子中的<div class="clear"><div>能够把容器的高度撑起来?

为什么例子中的<div class="clear"><div>能够把容器的高度撑起来?

<div class="clear"><div>在例子中没有设置高度,只是设置了clear:both,这样是不是只把自身受到浮动的影响给消除了?而没有设置高度的情况下,为什么容器撑开后的高度刚好和蓝色、红色和橙色的高度一样?

正在回答

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

2回答

你好同学 , 你可以这样理解 , 如果<div class="clear"></div>没有设置clear:both . 它上面的三个盒子也没有浮动的情况下 ,<div class="clear"></div>是应该在最后面的 ,

http://img1.sycdn.imooc.com//climg/5c2f269e000180d506200305.jpg

但是由于三个小盒子设置了浮动 . 所以<div class="clear"></div>受到浮动元素脱离文档流的影响 , 它的位置就移动上去了 , 如下:

http://img1.sycdn.imooc.com//climg/5c2f26d00001ae7d05170219.jpg

当你设置了clear:both  ,这个时候<div class="clear"></div>就能清除浮动元素对它的影响 . 移动到下面来了 , 如下:

http://img1.sycdn.imooc.com//climg/5c2f27060001653e05660128.jpg

这个时候container容器因为<div class="clear"></div>移动到下边 ,就能重新计算高度 , 所以高度就被撑起来了 . 如果还是不理解的话 ,可以给<div class="clear"></div>设置高度理解一下:

http://img1.sycdn.imooc.com//climg/5c2f27640001e4e017950276.jpg

上面借助给div.clear清除浮动 ,让它回到最下面的位置 , 这样父元素由于div.clear位置的变化 ,高度也跟着撑开 . 这种方式我们通常就是叫做清除子元素浮动对父容器带来的影响 .

因为浮动的知识相对来说难理解一些 , 其实这里同学只要会运用这些方法即可 . 原理的知识以后慢慢练习的时候 , 运用的熟练了 . 可能理解起来就相对容易了 .加油 !

祝学习愉快 ,望采纳 .

慕前端2064318 2019-01-04 17:21:08

我也很好奇,期待别人解答

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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