14

私のCSSファイルでは、これを使用しています:

html,body{height:100%;padding:0;margin:0;border:0;}

これにより、すべて最新バージョンの IE8、Chrome 5、および Mozilla 3.6 で垂直スクロールバーが表示されます。

また、ドキュメントは空で、html、head、および body タグしかないため、画面からは何も表示されません。

オーバーフローの設定: 非表示; html 要素に追加すると、ページのスクロールが完全に停止します。

コンテンツがディスプレイの高さよりも高い場合にスクロールを続けるにはどうすればよいですか?

ありがとうございました。

4

6 に答える 6

17

100% の div 要素を持つことができるように、XHTML ドキュメントで 100% の高さが必要です。

とにかく、私は答えを見つけました:

この問題は、一番上の要素に上余白がある場合にのみ発生します。上マージンが 100% の高さに追加されて高くなり、スクロールバーが発生するようです。

そのため、padding-top を使用して一番上の要素のスペースを空けるか、タグと次の上部マージンのある要素の間に上部マージンなしで a を使用します。

于 2010-08-25T09:18:18.680 に答える
4

overflow:hidden は、スクロール バーの表示に役立ち、防止する必要があります (丸め誤差により、約 1 ピクセルのコンテンツが失われる可能性があります)。

于 2010-08-24T14:01:48.133 に答える
0

今日、この問題に遭遇したところ、スクロール バーが最初の要素の上余白が原因ではなく、html 要素と body 要素の両方の高さが 100% になっていることが原因であることがわかりました。

したがって、この CSS ルールを使用すると、次のようになります。

html,body { height: 100%; }

スクロールバーが表示されます。それをこの CSS ルールに変更すると、次のようになります。

html { height: 100%; }

スクロールバーがありません。

平和...

于 2013-03-04T23:46:52.537 に答える
0

より良い方法があるかもしれませんが、すべてのブラウザでスクロールバーを取り除くように見える 98% にデフォルト設定しています。

JavaScript を使用して高さを設定することもできますが、それは少しハックな感じがします

于 2010-08-24T14:01:09.953 に答える
-2

のため、垂直スクロールバーが来ていheight:100%ます。それを使用する理由がない限り、それは必要ありません。

于 2010-08-24T14:00:20.937 に答える
-6

body の高さを 100% に設定するのはなぜですか?

デフォルトではこの高さになります。

600px などの数値の高さを px で設定する場合にのみ、body で高さを設定するのが理にかなっています。

于 2010-08-24T14:06:40.173 に答える