如何在Firefox中隐藏滚动条?

Daa*_*eld 58 css firefox

我刚刚发现了如何隐藏Google Chrome中的滚动条,我使用以下代码执行了操作:

::-webkit-scrollbar { display: none; }
Run Code Online (Sandbox Code Playgroud)

唯一的问题是这不适用于Firefox.试过很多方法但是它仍然不起作用.

小智 51

您可以使用该scrollbar-width规则.您可以scrollbar-width: none;隐藏Firefox中的滚动条,但仍然可以自由滚动.

body {
   scrollbar-width: none;
}
Run Code Online (Sandbox Code Playgroud)

  • 这可以在最新的浏览器上使用,但请注意,这仍然是[实验功能](https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-width)。另外,请记住,此属性应与产生滚动条的元素一起使用。例如,如果您使用的是Angular Material的`md-content`,则主体不会产生滚动条,而`md-content`元素会产生滚动条。因此,`body {scrollbar-width:none; }将不起作用,但是md-content {scrollbar-width:none; }`。 (3认同)

小智 19

我能够隐藏滚动条但仍然能够使用此解决方案滚动鼠标滚轮:

html {overflow: -moz-scrollbars-none;}
Run Code Online (Sandbox Code Playgroud)

下载插件https://github.com/brandonaaron/jquery-mousewheel并包含此功能:

jQuery('html,body').bind('mousewheel', function(event) {
    event.preventDefault();
    var scrollTop = this.scrollTop;
    this.scrollTop = (scrollTop + ((event.deltaY * event.deltaFactor) * -1));
    //console.log(event.deltaY, event.deltaFactor, event.originalEvent.deltaMode, event.originalEvent.wheelDelta);
  });
Run Code Online (Sandbox Code Playgroud)

  • 这似乎相当于"溢出:隐藏;" 并且不允许滚动:-( (13认同)
  • 从Firefox 63开始,这只适用于在Firefox的功能设置中将`layout.css.overflow.moz-scrollbars.enabled`设置为`true`,使其不适合生产使用.https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#Deprecated (4认同)

Row*_*win 14

要在Chrome,Firefox和IE上隐藏滚动条,可以使用以下命令:

.hide-scrollbar
{
    overflow: auto;
    -ms-overflow-style: none; /* IE 11 */
    scrollbar-width: none; /* Firefox 64 */
}
Run Code Online (Sandbox Code Playgroud)


小智 9

这是我需要禁用滚动条,同时在 Firefox、Chrome 和 Edge 中保留滚动条:

          @-moz-document url-prefix() { /* Disable scrollbar Firefox */
            html{
              scrollbar-width: none;
            }
          }
          body {
            margin: 0; /* remove default margin */
            scrollbar-width: none; /* Also needed to disable scrollbar Firefox */
            -ms-overflow-style: none;  /* Disable scrollbar IE 10+ */
            overflow-y: scroll;
          }
          body::-webkit-scrollbar {
            width: 0px;
            background: transparent; /* Disable scrollbar Chrome/Safari/Webkit */
          }
Run Code Online (Sandbox Code Playgroud)


Adi*_*aik 8

以防万一,如果有人正在寻找一种破解方法,以某种方式使滚动条在 Firefox(79.0) 中不可见。

这是一个成功适用于 Chrome、IE、Safari 的解决方案,并使 Firefox 中的滚动条透明。上述方法对于 firefox(79.0) 来说都没有真正隐藏滚动条。

如果有人找到一种不改变颜色的方法,那将会非常有帮助。请在下面评论。

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

.scrollhost ::-moz-scrollbar {
  display: none;
 
}
 
.scrollhost {
  overflow: auto;
  -ms-overflow-style: none;
  scrollbar-color: transparent transparent; /*just hides the scrollbar for firefox */
}
Run Code Online (Sandbox Code Playgroud)


Chr*_*cht 7

对于更新版本的 Firefox,旧的解决方案不再起作用,但我在 v66.0.3 中成功使用了scrollbar-color您可以设置的属性transparent transparent,这将使桌面上的 Firefox 中的滚动条至少不可见(仍然发生在视口和移动设备上不起作用,但滚动条是一条细线,位于右侧的内容上方)。

overflow-y: auto; //or hidden if you don't want horizontal scrolling
overflow-y: auto;
scrollbar-color: transparent transparent;
Run Code Online (Sandbox Code Playgroud)


rom*_*del 6

对于webkit使用以下:

::-webkit-scrollbar {
    width: 0px;  /* remove scrollbar space */
    background: transparent;  /* optional: just make scrollbar invisible */
}
Run Code Online (Sandbox Code Playgroud)

对于Mozilla Firefox,请使用以下代码:

@-moz-document url-prefix() {
    html,body{overflow: hidden !important;}
}
Run Code Online (Sandbox Code Playgroud)

如果滚动不起作用,则添加

element {overflow-y: scroll;}
Run Code Online (Sandbox Code Playgroud)

特定元素


小智 6

我使用了这个并且它起作用了。 https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-width

html {
scrollbar-width: none;
}
Run Code Online (Sandbox Code Playgroud)

注意:用户代理必须将在根元素上设置的任何滚动条宽度值应用到视口。


Myl*_*les 4

这是一个通用的解决方案:

<div class="outer">
 <div class="inner">
    Some content...
 </div>
</div>

<style>
 .outer {
 overflow: hidden;
}
 .inner {
 margin-right: -16px;
 overflow-y: scroll;
 overflow-x: hidden;
}
</style>
Run Code Online (Sandbox Code Playgroud)

滚动条由父div隐藏.

这要求您使用overflow:隐藏在父div中.

  • 复制时给真正的作者@chowey提供学分.http://stackoverflow.com/questions/15394065/firefox-scroll-bar-hidden?lq=1 (51认同)
  • 可行,但不可靠,因为16px只是假定的滚动条宽度. (3认同)
  • 此修复解决了FF的问题,但在其他浏览器中有更糟糕的副作用(剪切文本) (3认同)