2012-06-12 25 views
5

我有關於以下的CSS,我發現了一些問題:
html或身體設定全局

html, body { 
    height:100%; 
    min-width:100%; 
    position:absolute; 
} 

html { 
    background: none repeat scroll 0 0 #fff; 
    color:#fff; 
    font-family:arial,helvetica,sans-serif; 
    font-size:15px; 
} 


  1. 是它必須具有高度和最小寬度爲100%在html和body上?有什麼好處?
  2. 使用絕對位置的原因是什麼?
  3. 他們爲什麼在html上設置背景/顏色/字體而不是body?有區別嗎?還是僅僅是偏好?


回答

4
  1. 它通常是不必要的。但是,有幾次您可能需要它。例如,也許你的基地/網站的網站CSS文件指定的大小是不同的(你知道這些網站的邊只是邊界,通常是博客?這些寬度已被調整)。請注意,當你有百分之它的父容器。因此,Div A可能有width: 100%,但如果它的父容器有width: 500px Div A將具有500px的100%。

  2. 在我能想到的html + body上沒有理由position: absolute。絕對定位的一個副作用是元素不再與其他元素「內嵌」(不知道你將如何描述/單詞這個)。

    例如,position: relative忽略絕對定位的元素。所以如果你有圖像A(絕對)和圖像B(相對)而B有left: 10px;,圖像B將偏離父圖像的左邊,而不是A會出現的位置。希望我在這裏有道理。

    所以有時候我只是在背景圖像中設置「position:absolute」。如果它是第一個孩子,它會顯示在最上面(因爲新元素「添加在頂部」並忽略絕對定位元素)。

  3. 身體會繼承這些屬性,所以是的,它只是偏好。

+0

我絕對明白絕對定位是什麼,我的問題是專門針對它對body和html元素的影響。對我來說這似乎很奇怪,因爲上面沒有任何html,所以我不明白定位它的好處或用途。 –

+0

我不知道任何對html或body的特殊效果,可能是不必要的冗餘:P – Raekye

2

設置元素到100%的寬度或高度,只有當它的父元素也是在該維度的100%的工作原理。也就是說,如果body或html標籤由於某種原因不是高度或寬度的100%,那麼其中包含這些屬性的元素的高度或寬度將爲0。

例如:http://jsfiddle.net/KZaum/