2017-08-04 9 views
1

私はoverflow: autoでいくつかの要素を持っています。それはうまくいく。 macOSでは、ユーザーがスクロールしていないときにスクロールバーが自動的に非表示になり、スクロールバーに表示されます。ウィンドウブラウザでの自動スクロールバーの表示方法

ウィンドウとすべてのブラウザでは、スクロールバーは常に表示されます。それは醜いレンダリングを行います。

ユーザーがスクロールしていないときに、すべてのOSとすべてのブラウザでスクロールバーを自動的に非表示にするにはどうすればよいですか?

私は同様の質問がたくさんある知っているが、私は、適切な答えを見つけることができます

+0

これは、ブラウザがスクロールバーをどのように処理するかに依存し、それについてはあまりできないと思います。唯一の実際のクロスブラウザーソリューションは、JSで独自のスクロールバーを作成することです。 –

+0

これはあなたに使えるものを提供しますか?https://stackoverflow.com/q/3296644/125981 –

答えて

4

perfect-scrollbar

ミニマル完璧なカスタムスクロールバーのプラグイン

あるそれはで動作しますInternet Explorerを含むほぼすべてのWebブラウザ

+1

いいですが、jsを使わなくても何かを見つけたいと思います –

2

私は何かを見つけました!私はそれはとても単純なことと考えていたことがありません:

.my-elem { 
    overflow: hidden 
} 

.my-elem:hover { 
    overflow: auto 
} 
1
<style type="text/css"> 
body { 
    overflow:hidden; 
} 
</style> 

上記のコードは、水平と垂直の両方のスクロールバーが非表示になります。

すべてのブラウザに独自のデフォルトの「ユーザーエージェント」スタイルシートがあるため、すべてのHTML要素のスタイルを一貫したベースラインにリセットするCSSリセットを実行する必要があります。 HTMLはすべてのブラウザで同じように表示されます。

ノーマライズすることもできます。 Normalize.cssは、すべてを「解凍」するのではなく、有用なデフォルトを保持します。

関連する問題