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

来源:2-14 编程练习

qq_秋水_13

2019-07-18 22:51:02

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

写回答

2回答

coffeehyh

2019-07-19

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

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

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

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

0
hoffeehyh
回复
hq_秋水_13
h 其实就是说,clear: left; 的意思是说,“我”的左侧不准有浮动元素。 第二个设置了清除浮动后,浏览器在渲染的时候就会保证它左边不会有浮动元素,而由于第一个已经定好位了,所以第二个就只能另起一行。
h019-07-19
共4条回复

好帮手慕星星

2019-07-19

同学你好,

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

http://img.mukewang.com/climg/5d315cad000137bd03770674.jpghttp://img.mukewang.com/climg/5d315cb20001c67202540237.jpg

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

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

祝学习愉快!

1

0 学习 · 40143 问题

查看课程