即使滚动,scrollTop对于所有父项也是0

时间:2014-02-26 14:56:24

标签: html css scroll

这是一个简化的jsfiddle测试。

此CSS在内容溢出的页面上没有问题:

html, body {
    height: 100%;    
}
body {
    overflow: auto;
}

但是一旦应用了这个CSS,尽管滚动,但没有元素具有非零的scrollTop:

html, body {
    height: 100%;    
}
body {
    overflow: auto;
}
html {
    overflow: hidden;
}

问题似乎是应用溢出:隐藏到html元素*会导致body元素的scrollTop始终返回0.这没有任何意义。 有一个非零位置的滚动条。我如何阅读/控制它?

*这样做可以防止CSS过渡中的一些丑陋的文物,但也因为它有意义;我们只希望身体滚动。删除它不是一种选择。

1 个答案:

答案 0 :(得分:1)

也许您可以在页面周围创建一个固定的fullsize包装,并从正文中删除overflow:auto。然后,您将阅读的滚动不是来自正文,而是来自包装器。

看到这个小提琴:http://jsfiddle.net/ZTt3S/1/