CSS 浮动 clear

CSS浮动clear@浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框... CSS 浮动
clear@ 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。@
这段话中我有几个问题
1.这里说的浮动都是说块元素吗?内联元素呢
2.外边缘碰到包含框能理解,但碰到另一浮动框就不理解了,不是说脱离文档流了吗?不是无视存在了?怎么还会碰到就不动了呢,就好比一盆水上浮了三个木块,木块漂浮不存在了,后面的木块怎么会被挡住?
3.还有清除浮动clear的本质是什么,clear是怎么工作清除浮动了,就是不懂其中的原理,clear到底做了什么
展开
 我来答
网海1书生
科技发烧友

2016-09-04 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26231

向TA提问 私信TA
展开全部
1、所有元素(包括内联元素)浮动后都会自动变为块元素;
2、还是以你说的盆上浮木块的例子来说明:浮在水面上的三个木块互相之间肯定会有碰撞的不是吗?而沉在水底的铁块(即正常的文档流)则不会受木块的影响的。浮动,并不等于说就不存在了,只不过是飘在空中而已。就好比飞机飞在空中,对地面的交通不会造成影响,但如果没有空中管制,飞机互相之间也会碰撞的啊。你可以在普通的文档流上面想象存在另一个平行的文档流,而浮动的元素就在这个文档流中,这样你就好理解了。
3、清除浮动的最大作用,就是让文档流给浮动元素留出足够的空间,也就是说浮动元素在“空中”占用多大的空间,“地面上”就给它划出多大的预留空间,而后面的其他非浮动元素就在这个保留空间的后面继续排列,这样就不会被浮动元素挡住了(但是在清除浮动之前的非浮动元素仍然会被挡住的)。由于浮动元素会脱离文档流,因此难免会对后面的所有元素造成连锁反应(大家都往前移动了),所以有时候清除浮动是非常必要的。

补充说一下:浮动元素并非是完全脱离文档流,它与文档流之间仍然存在千丝万缕联系的。只有绝对定位(position:absolute)或固定定位(position:fixed)的元素,才是真正意义的脱离文档流。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式