CSS禁用滚动

32

我在我们的一个网站上遇到了一个问题:

在IE9中,页面有一个垂直滚动条,但你不能使用鼠标滚轮、箭头键、pgup/pgdwn键来滚动。唯一的滚动方式是实际点击/按住并移动滚动条。

我从CSS中删除了以下内容:

{
    overflow-x: hidden;
}

然后,滚动条按照惯例工作了。有其他人也遇到这个问题吗?因为overflow-x应该隐藏水平滚动条,所以为什么会影响垂直滚动条呢?

我在测试页面上尝试过这个问题,表现如预期。因此,这一定是多种因素的组合。


1
我已经在测试页面上尝试过了,它的表现符合预期。因此,这一定是多种因素的组合。” - 除非有人之前遇到过这个问题,否则我们需要*一个能够重现问题的测试页面。您可以发布站点链接,或者复制页面并对其进行匿名处理,并包含所有所需的CSS(以及与问题相关的任何JavaScript),然后将其发布在[JS Bin](http://jsbin.com/)上。” - thirtydot
抱歉,我没有权限发布材料本身的链接(它们仅限订阅)。这主要是出于兴趣,因为我已经成功解决了问题,只是我不明白为什么修复起作用。不幸的是,我不能简单地上传页面,因为它是电子学习系统的一部分。 - Sheff
3个回答

47

尝试使用以下代码片段。这应该可以解决你的问题。

body, html { 
    overflow-x: hidden; 
    overflow-y: auto;
}

18

overflow-x: hidden;
会隐藏在元素外的任何X轴内容,因此不需要水平滚动条并且它会被移除。

overflow-y: hidden;
会隐藏在元素外的任何Y轴内容,因此不需要垂直滚动条并且它会被移除。

overflow: hidden;
会移除两个滚动条。


难道不是反过来吗?overflow-y 控制垂直滚动条:http://jsfiddle.net/ddVTk/ - user2019515

4

我使用iFrame从另一个页面插入内容,但是上面提到的CSS样式并没有按照预期生效。即使我使用HTML 5 Doctype,我仍然需要使用scrolling="no"参数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接