当滚动显示时,居中的div会改变位置

时间:2011-02-26 15:12:37

标签: html css positioning

我有一个居中的div容器(通过margin-left:auto和margin-right:auto),页面设计在加载时看起来很好...... 在这个div下面还有另一个隐藏的,显示用户请求。 但是当发生这种情况时,浏览器滚动会显示并弄乱我的设计,因为居中的div也会向左移动几个像素(因此它可以再次位于中心)。

是否可以停止此行为?

替代解决方案是添加overflow-y:scroll但我发现所有浏览器都不支持overflow-y,我找不到哪个浏览器... 有人可以发布一个链接,我可以看到css3函数的浏览器支持列表吗?

2 个答案:

答案 0 :(得分:1)

此css将始终在您的页面上显示垂直滚动。

body {
    overflow-y: scroll;
}

默认为overflow: auto;

答案 1 :(得分:0)

总是显示滚动,可能不适合布局。

尝试使用css3

限制身体宽度
body {
    width: calc(100vw - 34px);
}

vw是视口的宽度(有关解释,请参阅this link
calc在css3中计算 34px代表双滚动条宽度(如果您不信任固定尺寸,请参阅this修正或this to calculate