Google Chromeでスクロールバーを非表示にする方法を見つけたところ、次のコードを使用しました。
::-webkit-scrollbar { display: none; }
唯一の問題は、これがFirefoxで機能しないことです。多くの方法を試してみましたが、それでも機能しません。
scrollbar-width
ルールを使用できます。 Firefoxでscrollbar-width: none;
を使用してスクロールバーを非表示にし、引き続き自由にスクロールできます。
body {
scrollbar-width: none
}
私はスクロールバーを隠すことができましたが、このソリューションではマウスホイールでスクロールできました:
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);
});
Chrome、Firefox、IEでスクロールバーを非表示にするには、次を使用できます。
.hide-scrollbar
{
overflow: auto;
-ms-overflow-style: none; /* IE 11 */
scrollbar-width: none; /* Firefox 64 */
}
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;}
特定の要素へ
これは一般的な解決策です。
<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を使用する必要があります。
これは、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 */
}
これを使ってみてください:
overflow-y: -moz-hidden-unscrollable;
本文にcssルールを追加します。
body{
overflow: hidden;
}
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;
いくつかの特定の場合(要素が画面の右端にあるか、親のオーバーフローが隠されている)、これは解決策です。
@-moz-document url-prefix() {
.element {
margin-right: -15px;
}
}