XHTML HTML要素が100%高さを引き起こし、スクロールバーを引き起こします
-
01-10-2019 - |
質問
私のCSSファイルで私はこれを使用します:
html,body{height:100%;padding:0;margin:0;border:0;}
これにより、垂直スクロールバーがIE8、Chrome 5、Mozilla 3.6、すべての最新バージョンに表示されます。
また、ドキュメントは空で、HTML、ヘッド、ボディタグのみがあるので、それを引き起こすために画面から出て行くものは何もありません。
オーバーフローの設定:非表示; HTML要素では、ページ上のスクロールを完全に停止します。
コンテンツがディスプレイの高さよりも高い場合は、どうすればスクロールし続けることができますか?
ありがとうございました。
解決
XHTMLドキュメントに100%の高さが必要になるため、100%のDIV要素を持つことができます。
とにかく、私は答えを見つけました:
この問題は、最上部の要素に最上位のマージンがある場合にのみ発生します。最高マージンが100%の高さに追加され、それが高くなり、スクロールバーを引き起こすようです。
したがって、パディングトップを使用して、最上部の要素をスペースにするか、タグと上限のある次の要素の間に上のマージンのないAを使用します。
他のヒント
オーバーフロー:隠されたは、スクロールバーの表示を助け、防止する必要があります(丸めエラーのために1pxのコンテンツを失う可能性があります
より良い方法があるかもしれませんが、私は単にすべてのブラウザでスクロールバーを除去するように見える98%にデフォルトです。
JavaScriptを使用して高さを設定することもできますが、それは少しハッキーだと感じています
私は今日この問題に出くわしましたが、スクロールバーは最初の要素の上のマージンによって引き起こされていないことがわかりましたが、HTML要素とボディ要素の両方が100%の高さを持っていることでわかりました。
したがって、このCSSルールを使用してください。
html,body { height: 100%; }
スクロールバーを取得します。これをこのCSSルールに変更した場合:
html { height: 100%; }
スクロールバーはありません。
平和...
垂直の巻物が来ています height:100%
. 。あなたがそれを使用する理由がない限り、あなたはそれを必要としません。
なぜあなたは体に100%の高さを設定しているのですか?
デフォルトでこの高さが得られます。
たとえば、600pxなどのPXに数値を設定する場合にのみ、身体に高さを設定することは理にかなっています