隐藏滚动条,但仍然可以滚动

我希望能够浏览整个页面,但没有显示滚动条。

在Google Chrome中,它是:

::-webkit-scrollbar { 
    display: none; 
}

但Mozilla Firefox和Internet Explorer似乎并不像那样工作。

我也尝试过在CSS中:

overflow: hidden;

这确实隐藏了滚动条,但我不能滚动了。

有什么办法可以删除滚动条,仍然可以滚动整个页面? 请仅使用CSS或HTML。


只是一个工作正常的测试。

#parent{
    height: 100%;
    width: 100%;
    overflow: hidden;
}

#child{
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    padding-right: 17px; /* Increase/decrease this value for cross-browser compatibility */
    box-sizing: content-box; /* So the width will be 100% + 17px */
}

工作小提琴

JavaScript的:

由于滚动条宽度在不同的浏览器中有所不同,所以最好用JavaScript处理它。 如果您执行Element.offsetWidth - Element.clientWidth ,将显示确切的滚动条宽度。

JavaScript工作小提琴

要么

使用Position: absolute

#parent{
    height: 100%;
    width: 100%;
    overflow: hidden;
    position: relative;
}

#child{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: -17px; /* Increase/Decrease this value for cross-browser compatibility */
    overflow-y: scroll;
}

工作小提琴

JavaScript工作小提琴

信息:

基于这个答案,我创建了一个简单的滚动插件。 我希望这会帮助某人。


易于使用Webkit,可选样式:

html {
    overflow: scroll;
    overflow-x: hidden;
}
::-webkit-scrollbar {
    width: 0px;  /* remove scrollbar space */
    background: transparent;  /* optional: just make scrollbar invisible */
}
/* optional: show position indicator in red */
::-webkit-scrollbar-thumb {
    background: #FF0000;
}

这适用于我:

.container {
    -ms-overflow-style: none;  // IE 10+
    overflow: -moz-scrollbars-none;  // Firefox
}
.container::-webkit-scrollbar { 
    display: none;  // Safari and Chrome
}

注意:在最新版本的Firefox中, -moz-scrollbars-none属性已被弃用(链接)。

链接地址: http://www.djcxy.com/p/15471.html

上一篇: Hide scroll bar, but while still being able to scroll

下一篇: wrap in an HTML table