【发布时间】:2013-02-15 07:37:07
【问题描述】:
这里的社区似乎同意旧的“clearfix”hack 现在是overflow:hidden 的depreciated and superseded。不幸的是,在某些情况下,即使使用这种方法也会导致问题。 (例如:This 如果工作正常,看起来会像 this。)
使用老式 <div class="clear"> 的主要问题似乎是它创建了一个 div 元素,其唯一目的是改变表示 - 这似乎混淆了纯语义标记与表示的理想。
不过,除此之外,它似乎适用于所有浏览器和所有情况(不能说“clearfix”或overflow:hidden)。
使用clear:both 还有其他缺点吗?用起来真的有那么差吗?还是只是个人喜好?
【问题讨论】:
-
overflow:hidden(或overflow:auto或overflow:scroll)应该是包装内容的方式。 -
我个人是反对
overflow:hidden;的,当你使用它的时候,你必须对div里面的absolutedivs说byebye;特别是通知、消息框、提示之类的东西,你不得不把它们都放在里面。 -
在关注社区使用
overflow: hidden之前,我会更仔细地查看。在某些情况下很好,而在其他情况下则有问题。请参阅@clairesuzy 对您引用的问题的回答 (stackoverflow.com/a/5566031/101869),然后查看“哪种 'clearfix' 方法最好?”中的对话。 (stackoverflow.com/q/211383/101869)。在我的回答中,我概述了为什么我认为display: inline-block是最强大的解决方案 (stackoverflow.com/a/9932508/101869)。
标签: html css css-float clearfix