2014-01-22 199 views
0

我的身體寬度爲1024px。當我將CSS中的html標籤的背景設置爲一種顏色(比如栗色)時,所有頁面都變成栗色。僅改變HTML背景的顏色

正常的行爲,但我如何設置身體的一種顏色和身體不使用的空間的另一種顏色?

當我設置正文的背景時,只有我的第一個div被着色。

+0

分別將它設置在'html','body'元素上。通常,'body'元素與'html'元素的大小相同。默認情況下,只有一個8像素的邊距。 –

回答

0

只有你的第一個div有顏色的原因是這樣的:html元素佔據文檔中的所有可見空間,但body只佔用與其子元素一樣多的空間。

修復:首先爲身體設置固定寬度和高度,然後在bodyhtml上使用background-color

body { background-color: white; } /* color for body */ 
html { background-color: maroon; } /* color for space not used by body */ 
+0

」中那樣做了,但仍然是 – ohitsanazn

+0

@Jonathan你設定了一個固定的寬度和高度嗎? – rvighne

+0

aha,那是不是技巧 – ohitsanazn

0

在CSS/HTML中,如果未明確定義,每個元素都會從其父元素接收許多屬性。談到顏色,大多數元素將具有透明背景(或無背景),除非您設置其CSS屬性。

因此,你需要設置相應的屬性:

html {background-color:#000;} 
body {background-color:#fff;} 

希望這有助於!

+0

我知道我可以使用document.body.backgroundColor(或無數的語法變體)在JavaScript中設置正文背景顏色,但是我怎樣才能在JavaScript中設置html背景顏色?我有一個測試頁面,這是HTML CSS代碼,但我想申請一些邏輯,以便我是否在運行時設置它,而不是像這樣在CSS中進行硬編碼。 – Dee2000

+0

@ Dee2000使用任何DOM元素的樣式屬性,例如'document.body.style.background =#000;'或者你可以用'$('#mydiv')在jQuery中做到這一點。css('background-color ','#000')' – Yani

+0

是的,但是如何更改「html」的背景顏色,就像您在CSS代碼片段「html {background-color:#000;} – Dee2000