首页 > 既然设置float会导致元素脱离文档流,会遮盖后面的元素,那为什么如果后面是文本,就不会遮盖到呢?

既然设置float会导致元素脱离文档流,会遮盖后面的元素,那为什么如果后面是文本,就不会遮盖到呢?

后面跟div的时候,div会被遮盖————http://runjs.cn/code/tjihw6yn
后面跟文本的时候,文本却不会被遮盖————http://runjs.cn/code/dudhoxao


当初float被设计的时候就是用来完成文本环绕的效果,所以文本不会被挡住,这是float的特性


网上找到这篇,挺好的 :http://www.jb51.net/css/124333.html

浮动可以说是不彻底的脱离文档流,是为了达到某种效果而生,而彻底方式是绝对定位。


很简单,CSS规则就是这样定的,技术规范下的东西才是你要学习和研究的。等你研究透了,什么时候可以参与CSS Working Group参与编辑规范的时候,你甚至可以提出改变这个规则的论题,本来规则都是人定的,只不过恰好就定了这个规则


The float CSS property specifies that an element should be taken from the normal flow and placed along the left or right side of its container, where text and inline elements will wrap around it. A floating element is one where the computed value of float is not none.


浮动跟定位虽说都是所谓的脱离文档流,但是感觉上似乎还是有区别的。浮动之后,会影响后面的元素的排列,并且边框和背景会“塞”到浮动元素的下面,但是内容会挡住。而定位因为有了层叠特性,会完全覆盖。

这只是我个人的一个理解,如果需要具体的文档来说明的话,那么可以到http://w3.org上找一下资料。

【热门文章】
【热门文章】