0

我的页面都使用典型的固定宽度边距左右自动布局。

.container{
     width:900px;
     margin:0 auto;
}

小问题来了。其中一些页面高于窗口,这意味着它们应该在右侧显示垂直滚动条。在这些页面和其他页面之间切换,主容器会移动一点( v-scrollbar 的一半宽度)。我知道这是因为父元素(主体)的宽度发生了变化。

但是有人知道是否有图书馆或现有的黑客来抑制这种行为吗?(除了 body{overflow-y:scroll;})

回复@Mateusz:
谢谢 Matousz,好主意。我尝试了以下代码

console.log($('body')[0].offsetHeight+' '+$('body')[0].scrollHeight+' '+$('html'[0].offsetHeight+' '+$('html')[0].scrollHeight);

测试结果是

           doc smaller than win              doc larger than win
firefox    1012 1012 1008 1362               1012 1012 1008 1007
chrome/ie  549 1525 545 545                    549 545 545 545

所以他们有不同的行为,比较线程也不同(1和4)。

4

1 回答 1

1

您可以比较 element.offsetHeight 和 element.scrollHeight。并根据此更改容器的位置。

于 2012-04-17T21:23:13.030 回答