我有一个由来已久的div包装两列布局的问题。我的侧栏是浮动的,所以我的容器div无法包装内容和侧边栏。
<div id="container">
<div id="content"></div>
<div id="sidebar"></div>
</div>在Firefox中,似乎有许多修复明确错误的方法:
<br clear="all"/>overflow:autooverflow:hidden在我的情况下,似乎唯一正确工作的是<br clear="all"/>解决方案,它有点不稳定。overflow:auto给了我讨厌的滚动条,overflow:hidden肯定有副作用。而且,IE7显然不应该因为它的错误行为而遭受这个问题,但在我的情况下,它和火狐一样痛苦。
我们目前可用的哪种方法最健壮?
发布于 2013-04-19 07:28:57
最新的标准,如Inuit.css和Bourbon -两个非常广泛使用和维护良好的CSS/Sass框架:
.btcf:after {
content:"";
display:block;
clear:both;
}备注
请记住,清除从本质上说是对现在much easier and smarter way中的柔性盒布局所能提供的东西的一种攻击。CSS浮动最初是为内联内容而设计的--就像长文本文章中的图像一样--而不是网格布局之类的。除非您是专门针对旧的(而不是边缘) Internet,您的target browsers support flexbox,所以值得花时间学习。
这不支持IE7。你不应该支持IE7。这样做继续使用户暴露于非固定的安全漏洞,并使所有其他网页开发人员的生活更加艰难,因为它减轻了用户和组织使用更安全的现代浏览器的压力。
这一明确规定是2012年7月的announced and explained by Thierry Koblentz。它减轻了Nicolas Gallagher's 2011 micro-clearfix不必要的重量。在这个过程中,它释放了一个伪元素供您自己使用。这已经被更新为使用display: block而不是display: table (同样,归功于Thierry )。
https://stackoverflow.com/questions/211383
复制相似问题