Firefox 2 和 SeaMonkey 的 CSS clearfix 问题

标签 css firefox clearfix

我正在使用 yaml布局和著名clearfix css确保带有 float 的容器得到扩展。

Firefox 3、IE6、IE7、IE8、Opera 9 和 Google Chrome 一切正常,但我在 Firefox 1、Firefox 2 和 SeaMonkey 上遇到问题。问题是 clearfix 容器扩展得太多,正如您在网站上看到的那样:

http://www.slagalica.tv/game/mojbroj

这里是 Firefox 2 的截图和 Firefox 3渲染。

更新: Screenshots on BrowserShots.org

不幸的是,统计数据显示超过 10% 的访问者正在使用 FF2,所以我不能简单地忽略这个问题。我尝试删除或调整 clearfix CSS 的某些部分,但无论我做什么,计时器 DIV(绿色)都与页面的其余部分分开很大。

有没有人知道如何解决这个问题?

更新 2:我终于放弃并放置 TABLE 标签并在几分钟内解决了问题。所以,不要试图查看 HTML 源代码 - 问题不再明显。

最佳答案

因此,如果您查看在 positioniseverything 上宣传 clearfix 的原始文章,您会注意到作者建议,由于修复程序已过时,读者应该查看 sitepoint 上的一篇文章。 This sitepoint article指出了一种我已经使用了很长时间的方法。

非常简单,如果您给父级 overflow: hidden 并确保它在 IE 中具有“布局”,那么这将清除内部 float 。


<div id="wrapper">
     <div id="leftcol">
          Text
     </div>
     <div id="rightcol">
         text
     </div>
</div>

然后是对应的CSS:


#wrapper{
  overflow:hidden;
  width: 100%;
}
#leftcol{
  float:left;
  width: 50%;
}
#rightcol{
  float:right;
  width: 50%;
}

在上面的示例中,我使用了 width: 100% 来为 IE 提供布局,但您也可以轻松地使用 zoom: 1height: 1% 如果您愿意。

尝试用这种技术替换 clearfix,您的问题应该得到解决。

使用此技术时要牢记的事项,请注意内部宽度,否则可能会被剪裁,重要的是将打印样式表中的包装器覆盖为 overflow: visible ,否则它只会打印第一页。但我多年来一直在生产中成功使用这种方法,而且我从未遇到过任何无法解决的问题。

关于Firefox 2 和 SeaMonkey 的 CSS clearfix 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1251218/

相关文章:

带有圆 Angular 的 jQuery slideUp() 和 slideDown()

css - 使绝对定位的父级出现在绝对定位的子级之上

html - 导航按钮不显示内联

firefox - NS_ERROR_XPC_NOT_ENOUGH_ARGS : Not enough arguments [nsIWebBrowserPersist. saveURI],第 5 行(错误代码:-1001),带有 imacros

css - 如果我在上面的 div 中使用 clearfix,Chrome 中的页脚会崩溃

html - 文本不扩展 div

html - 什么是清除修复?

javascript - 使用 Javascript 列出已知的 CSS 类

javascript - Firefox Safari chrome 等 window.createPopup() 的等价物是什么

javascript - CSS 覆盖菜单在 Firefox 中不起作用