web-dev-qa-db-ja.com

Firefoxでスクロールバーを非表示にする方法は?

Google Chromeでスクロールバーを非表示にする方法を見つけたところ、次のコードを使用しました。

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

唯一の問題は、これがFirefoxで機能しないことです。多くの方法を試してみましたが、それでも機能しません。

54
Daan Kleijngeld

scrollbar-widthルールを使用できます。 Firefoxでscrollbar-width: none;を使用してスクロールバーを非表示にし、引き続き自由にスクロールできます。

body {
   scrollbar-width: none
}
42
George Flint

私はスクロールバーを隠すことができましたが、このソリューションではマウスホイールでスクロールできました:

html {overflow: -moz-scrollbars-none;}

プラグインをダウンロードします 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);
  });
19
CrazyScientist

Chrome、Firefox、IEでスクロールバーを非表示にするには、次を使用できます。

.hide-scrollbar
{
    overflow: auto;
    -ms-overflow-style: none; /* IE 11 */
    scrollbar-width: none; /* Firefox 64 */
}
10
Rowin

Webkitの場合、次を使用します。

::-webkit-scrollbar {
    width: 0px;  /* remove scrollbar space */
    background: transparent;  /* optional: just make scrollbar invisible */
}

Mozilla Firefoxの場合、次のコードを使用します。

@-moz-document url-prefix() {
    html,body{overflow: hidden !important;}
}

スクロールが機能しない場合は追加します

element {overflow-y: scroll;}

特定の要素へ

6
romal tandel

これは一般的な解決策です。

<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>

スクロールバーは親divによって非表示になります。

これには、親divでoverflow:hiddenを使用する必要があります。

4
Myles

これは、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 */
          }
1
Logan Powell

これを使ってみてください:

overflow-y: -moz-hidden-unscrollable;

0
peeter

本文にcssルールを追加します。

body{
  overflow: hidden;
}
0
Sergio Abreu

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;
0
Chris Aelbrecht

いくつかの特定の場合(要素が画面の右端にあるか、親のオーバーフローが隠されている)、これは解決策です。

@-moz-document url-prefix() {
  .element {
    margin-right: -15px;
  }
}
0
gazdagergo