2012-09-25 6 views
28

可能性の重複:
How to always show scrollbar in browser using javascript?は常にジャンプページを防ぐために、ブラウザのスクロールバーを表示

私は、コンテンツの多くを持っている必要があり一部のページを他のページには、私は間をクリックしていたときに、いくつかの行を持っています一部のページにはブラウザ上にスクロールバーがあり、他のブラウザには表示されません。このため、ページ間をクリックすると余分なスペースがあるため、ページは常にジャンプします。

いつでもスクロールバーを表示することはできますか、ページのジャンプを停止するための多くのコンテンツがない場合はグレー表示できますか?

それは、誰かが助けることを願って、

乾杯

+0

http://stackoverflow.com/questions/4050076/how-to-always-show-scrollbar-in-browser-using-javascriptを見ましたか?これはかなり一般的なアプローチです(受け入れられた答えは実際にはJavaScriptを使用しません: – dash

+0

)興味深いことに、 "ジャンプ"の問題​​はIE11では存在しません。 IE11がコンテンツの上でスクロールバーを右に叩くように見えるので、幅の変更やジャンプはありません。 –

答えて

53

はクリスCoyerことで、このarticleを読んで試してみてください、すべてのブラウザ間で動作することができ、それはかなりうまく説明しています。記事から

:スクロールするオーバーフロー-Yの割り当て

は仕事をし、そしてそれは、Firefox、 サファリ、およびIE 6で動作し、それはそれ最善の解決策になる:

html { 
    overflow-y: scroll; 
} 
+5

リンクされた記事の関連セクションを含むように回答を更新しました。あなたが今日にリンクしているものが明日そこにあるという保証はありません! – dash

+0

ありがとう、ダッシュは念頭に置いておいてください。 –

+1

ダブルスクロールバーを避けるため、 'body {overflow-y:scroll; } '代わりに。 – niry

12
html { 
    overflow-y: scroll; 
} 

これが最適な解決策です。

+3

これは最善の解決策ではありません。 'html'タグには' body'だけでなく、 'head'も含まれています。ここでCSSは意味を持ちません。 'body'レベルでプロパティを定義する方が良いでしょう。ボディレベルで – stevenvh

+1

がオーバーフローすると、一部の(IE6)ブラウザでダブルスクロールバーが発生します。 – Salketer

+4

IE6、まだそれを使用している人は2人だけですが、そうですか? – stevenvh

関連する問題