web-dev-qa-db-ja.com

カスタムWebkitスクロールバーを無効にする方法はありますか?

Google ChromeなどのWebkitベースのブラウザでスクロールバーのカスタマイズを無効にしたり元に戻したりする拡張機能やカスタムユーザースタイルシートなどはありますか?私はプレーンなネイティブスクロールバーが好きですが、CSSでスタイル設定された後、CSSを組み合わせて元に戻すことができないようです。

10
TedMilker

残念ながら、CSSを「無効化」したり、一度アクティブ化すると元に戻すことはできません:

::-webkit-scrollbarを単純にオーバーライドしてデフォルトのスタイルを取得することはできません。これを行う唯一の方法は、コードからすべての::-webkit-scrollbarルールを削除することです。その時点で、スクロール可能な領域はスクロールバーを再描画するように強制する必要があります。これを行うには、display:noneをすばやく追加および削除します。から、またはオーバーフローで同じことを行います:hidden;スクロール可能な要素。最初の問題は、ページが読み込まれるたびにページが白く点滅することです。 2つ目は、ページ上の要素がオーバーフローするかどうかをチェックする必要があるため、リソースを大量に消費します。これは理想的ではありません。

上記のリンクは、カスタムバーを完全に削除し、スクロールバーを残さないスクリプトからのものです。

4
JonathanMumm

バイナリクリーンテキストエディタまたは16進エディタでWebブラウザの実行可能ファイルを開き、「webkit-scrollbar」のすべての出現箇所を「webkit-scrollb4r」などの他のジャンクに置き換えます。 Chromeでこれを試したところ、問題は解決しました。