清除浮动指清除哪里的浮动

清除浮动指清除哪里的浮动

对于清除浮动,老师说是清除元素左边或右边的浮动,难道不是清除元素自身的浮动吗?

正在回答

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

2回答

个人是这样理解的,清除浮动是指的是让元素自身不受其他浮点元素效果的影响。

比方说,按照老师那样子写三个div,先只设置第一个div向左浮动,则第二个div会受到第一个div浮动效果的影响,导致其异位(被第一个div遮挡住),如果此时给第二个div设置 clear: left; 则表示第二个div不受前面元素浮动效果的影响,因此不会被遮挡而是另起一行。

同样的,如果前两个div都设置了float: left;则第三个div被遮挡,前两个div并行排列。此时,如果继续给第二个div设置清除左浮动 clear: left;则第二个div又另起一行,而第三个div则会第二个div遮挡。

同学可以做做实验,应该就可以理解了。

  • qq_秋水_13 提问者 #1
    我觉得有点明白了
    2019-07-19 08:28:51
  • qq_秋水_13 提问者 #2
    那第二个div 添加去浮动后,是继续在浮动流里还是回归正常文档流
    2019-07-19 08:37:40
  • qq_秋水_13 提问者 #3
    给前两个div设置左浮动,然后给第二个清除左浮动,第一个是不是还在浮动流里,只是第二个不再受第一个的影响?还有一个例子,三个右浮动的div,全部设置去浮动后,都在右边排列,是不是说其实只是他们只是不再受其他影响,所以只是不在一行排列,并不影响他们往右靠?
    2019-07-19 08:55:08
好帮手慕星星 2019-07-19 14:02:34

同学你好,

1、给前两个div设置左浮动,然后给第二个清除左浮动,第一个以及第二个元素还是在浮动流中,第三个元素会到顶部显示,只不过第二个不受第一个影响,在当前位置浮动,效果:

http://img1.sycdn.imooc.com//climg/5d315cad000137bd03770674.jpghttp://img1.sycdn.imooc.com//climg/5d315cb20001c67202540237.jpg

2、有一个例子,三个右浮动的div,全部设置去浮动后,都在右边排列,是不是说其实只是他们只是不再受其他影响,所以只是不在一行排列,并不影响他们往右靠?

这个例子理解的没有问题哦,清除浮动并不是去除自身的浮动,而是清除上面浮动元素带来的影响。

祝学习愉快!

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

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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