【发布时间】:2013-02-12 23:09:11
【问题描述】:
我创建了this simple html:
这里有 2 个 SPAN。
通过清除浮动,一个应该在另一个之下。
bbb 元素有float:left
我使用了(在aaa 元素上),Facebook 的“clearfix” CSS 是:
.clearfix:before { content: ""; display: table; }
.clearfix:after { content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;}
.clearfix { zoom: 1; }
这是一种有效的方式(就像 facebook 一样)和 described here
但它在 FireFox 中有效:(看上图)
但在 chrome (v 24) 中却没有。
我错过了什么?
【问题讨论】:
-
看起来像一个 chrome 错误。
.clearfix:after { display:block }包含一些内容应该与在.clearfix跨度内部的末尾有一个真正的 div 做同样的事情。但事实并非如此。 -
@downoter ,解释很有帮助!
-
我刚刚查看了 facebook 的代码。他们似乎只在块级内容上使用这个类。您的第一个跨度是内联内容 AFAICT。
-
@wds 是的,但话又说回来,为什么要清除自动转到新行的 div 块。
-
@RoyiNamir 我相信在大多数设计中,它是为了阻止不同的块相互渗透。