html
とbody
に背景画像を適用しようとすると、ブラウザウィンドウ全体がいっぱいになりません。代わりにこれを使用します。
html {
height: 100%;
}
body {
min-height: 100%;
}
私の推論が与えられている(私は、このように背景を適用する方法を総合的に解説)here:
ところで、あなたが持っている理由は、指定しheight
とmin-height
html
およびbody
には、どちらの要素も固有の高さを持たないためです。どちらもデフォルトでheight: auto
です。これは高さが100%のビューポートなので、height: 100%
がビューポートから取得され、コンテンツのスクロールを可能にするために最小限はbody
に適用されます。
彼らは、ビューポートの高さを超えて成長し始めると最初の方法は、両方のheight: 100%
を使用して、その内容を拡大してからbody
を防ぐことができます。技術的にはこれはではありません。のコンテンツはスクロールしませんが、body
にはフォールドの下にギャップが残ることがありますが、これは通常は望ましくありません。両方のmin-height: 100%
を使用して
第二の方法は、html
は、明示的なheight
を持っていない限り、割合がmin-height
がbody
上では動作しませんので、body
がhtml
の完全な高さまで拡大することはありません。完全を期すために
、section 10 of CSS2.1は、すべての詳細が含まれていますが、それはあなたが、私がここで説明した内容を超えたものに興味を持っていないのであれば、あなたはそれをスキップすることができますので、読んで畳み込まれ極めてです。
これは私がこれが最も好きだったものです:) 'height:100%はビューポートから取得され、コンテンツのスクロールを可能にするために最小限に身体に適用されます' easy peasy solution ... thanks // –
スクロールバーはどのようにして魔法のように表示されますか? 'html'要素はデフォルトで' overflow:visible'を持っていますので、ブラウザの振る舞いのためにスクロールバーが表示され、ドキュメントの全体的な流れを表示することができます。 –
@FabrícioMatté:それは、スクロールバーの出所であるビューポート上で 'overflow:auto'に変換されます。それはセクション11でカバーされています:http://www.w3.org/TR/CSS21/visufx.html – BoltClock