Css 我如何修正这些保证金?仅在Firefox中工作正常

Css 我如何修正这些保证金?仅在Firefox中工作正常,css,position,css-float,Css,Position,Css Float,除Firefox外,我在本页上的浏览器页边距有问题: 以下是CSS: #container3 { float: right; margin: 0 -240px; width: 100%; } #content3 { margin: 0 210px 0 -45px; width:500px; } #primary, #secondary { left:920px; overflow: hidden; padding-top: 40

除Firefox外,我在本页上的浏览器页边距有问题:

以下是CSS:

#container3 {
    float: right;
    margin: 0 -240px;
    width: 100%;
}

#content3 {
    margin: 0 210px 0 -45px;
    width:500px;
}

#primary, #secondary {
    left:920px;
    overflow: hidden;
    padding-top: 40px;
    position:absolute;
    width: 220px;

}

我通过更改此CSS修复了Chrome中的问题:

#primary, #secondary {
left: 980px; /*was 920px*/
overflow: hidden;
padding-top: 40px;
position: absolute;
width: 220px;
}

用一种奇怪的方式来建立页面。。 我建议您在main2中创建一个2列布局。。 左侧为菜单,右侧为注释标题,下方为内容和最近的注释div


并且,开始使用clearfix:

我看到您在主屏幕上使用的是绝对位置,这是基于窗口的,因此当我调整窗口大小时,最近的注释部分会移动。因此,这取决于用户屏幕的分辨率和浏览器的大小

添加相对于main2 div的位置。然后将主分区上的左值更改为右值,值为0。这将使它保持在右侧,并始终处于同一位置

#main2 {
  position: relative;
  ...
}

#primary, #secondary {
    right: 0;
    ...
}

编辑:之所以这样做,是因为在使用“位置:绝对”时,该值对于最近的相对父元素是绝对值。如果元素没有位置为:relative的父元素,则它将是浏览器窗口的绝对元素。希望这是有意义的。

嗨,凯文,谢谢你的更新,但问题似乎是Firefox与Chrome的左对齐方式不一致,因此940在Firefox中看起来不错,而980在Chrome中看起来不错。但有没有办法做到这两个方面呢?我发现如果不使用javascript,我就无法为Chrome编写条件语句。感谢您的帮助,如果chrome在没有滚动条的情况下呈现页面,滚动条可能会使页面移动超过20像素。请参阅下面我的答案,了解这会导致物体移动的原因。