2014-07-25 53 views
0

我不明白給身體和HTML 100%的高度的基本概念。我們爲什麼要給我們的父母100%?爲什麼我們給身高100%的身體和html?

<body style="height:100%"><html style="height:100%">

當我給我的html和body 100%身高時會發生什麼,爲什麼我們會給它?

+0

所以,如果你有一個,比方說,用100%的一個div然後將其」會填滿整個窗口。或者如果你有背景/邊框的身體和bla bla bla CSS樣式。你也需要給html(不僅僅是body),否則它會是計算高度的100%(=無用)。 –

+1

在什麼情況下?唯一需要的是擁有一個也佔據100%高度的子元素。否則,100%的高度就是元素的高度,而不是文檔的100%。 – Alex

+0

Body看它的父級(HTML)如何縮放動態屬性,所以HTML元素也需要設置它的高度。 –

回答

0

Body看到它的父級(HTML)如何縮放動態屬性,所以HTML元素也需要設置它的高度。

但是,身體的內容可能需要動態變化。將最小高度設置爲100%將實現此目標。

看吧

Make body have 100% of the browser height

2

給予100%的高度,以身體和HTML是不是必須做的。但是,假設你想在你的網站上使用百分比值,你必須給兩者分配100%的高度。

爲什麼?

指的Mozilla Developer Network

很多CSS屬性可以採取百分比值,經常在父母的對象來定義大小。

這意味着:如果分配height:20%header(假定HTML>體>頭)時,瀏覽器將計算在父(主體)和主體的高度計爲20%的它的父計(HTML)。

但是高度的初始值爲auto。當您查看Chrome等開發工具時,您會發現默認情況下,主體的計算高度爲0(零)。因此標題高度計算不正確。

這就是爲什麼它是有道理的定義就像一個reset.css什麼都下面一行:

html, 
body { 
    height:100%; 
    width:100%; 
} 
+1

輕微更正。身體的計算身高並不相關。如果有內容,身體將有一個計算的高度。但是,百分比高度不會使用計算出的高度,它只能與**定義的**高度一起使用。 –

+0

從[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/height)討論百分比高度時:「如果包含塊的高度未明確指定(即,取決於內容高度),並且該元素沒有被絕對定位,則該值計算爲auto。「 –