一尘不染

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

html

我希望能够滚动整个页面,但不显示滚动条。

在谷歌浏览器中它是:

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

但是 Mozilla Firefox 和 Internet Explorer 似乎不能这样工作。

我也在 CSS 中试过这个:

overflow: hidden;

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

有没有办法可以删除滚动条,同时仍然可以滚动整个页面?

请仅使用 CSS 或 HTML。


阅读 147

收藏
2022-02-22

共1个答案

一尘不染

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

#parent{
    width: 100%;
    height: 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 */
}

jsfiddle

JavaScript:

由于不同浏览器的滚动条宽度不同,最好用 JavaScript 处理。如果这样做Element.offsetWidth - Element.clientWidth,将显示确切的滚动条宽度。

JavaScript jsfiddle

要么

使用Position: absolute,

#parent{
    width: 100%;
    height: 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;
}

jsfiddle

JavaScript jsfiddle

信息:

基于这个答案,我创建了一个简单的滚动插件

2022-02-22