为什么我的布局仅在Firefox和IE8(而非9)中被破坏?

时间:2012-07-19 12:57:06

标签: html css layout cross-browser

我今天注意到,我几个月前完成的网站在Firefox和IE8上表现不佳(在IE9中运行良好)。它现在已经很老了,我很确定我当时测试了浏览器的兼容性,但我猜错了。

问题是我似乎无法理解这个问题。基本上我有一个带有固定位置的左侧浮动侧边栏,但它在FF和IE8上右侧(在其容器外)呈现。我总是可以从头开始重新构建布局(它使用Skeleton Grid系统),但仍然希望了解这个问题。

Example page that's broken on the website.

尝试使用各种浏览器打开它并自己查看。此外,如果有人在FF上看到它,我也很感兴趣。

非常感谢!

编辑:我不是要求整个调试。只要有人知道这个问题。

Edit2:Validator链接在这里无关紧要。我已经检查了它们,它们基本上是css的前缀和与html相关的CMS。

编辑3:我修复了它并准备了一个完整的答案,但由于我是新用户,我无法在接下来的7个小时内回答我自己的问题...所以这里是:

  

我只是用你的答案中的提示对整个事情进行了整理(谢谢   你!)。

     

基本上,它与浏览器处理浮动的方式有关   固定元素。想象一下,我们正在处理连续的“浮动:左”   元素,大多数网格系统就是这种情况(960gs,bootstrap,   等)。

     

以下是浏览器如何在没有修复的情况下处理这些元素   定位:http://jsfiddle.net/cPjdK/和浮动:右:   http://jsfiddle.net/cPjdK/1/

     

现在如果我们有一个非常长的第三列并希望修复第一列怎么办?   (我的例子)?好吧它基本上禁用浮动因为固定   元素不在流动之中。 http://jsfiddle.net/cPjdK/9/

     

所以你必须绝对定位它们(​​或者我的情况下有边距)   http://jsfiddle.net/cPjdK/6/

     

现在我的网站怎么样?固定元素再次漂浮   整个电网系统有点崩溃了。解决这个似乎是一个   长期工作。但是,由于某种原因,替换我的“浮动:左”属性   浮动元素与“浮动:右”基本上固定它。为什么呢   修理它?为什么它不能用于FF和IE8,但在IE9上显得很好   和Chrome。

     

我不知道。

     

但它现在看起来很好(经过一些调整后),我已经收到了报酬   所以...

     

问题解决但问题没有答案,抱歉...

1 个答案:

答案 0 :(得分:1)

你有一个FIXED定位元素,没有给它任何坐标。

尝试给它类似的东西:

#side-right{
position:fixed;
top:0;
left:0;
}