2012-03-17 384 views
5

我想知道爲什麼有時我可以更改網頁背景顏色,有時候我不能。例如,在一些網站中,我只是在chrome控制檯中輸入document.body.bgColor =「red」,並且背景顏色暫時改變了。但是,在其他站點如StackOverFlow中,這不起作用。由於我的瀏覽器已經加載了頁面,我應該能夠改變如何在本地顯示它。爲什麼不?謝謝更改背景顏色

回答

8

在Chrome中,您可以使用DOM檢查器查看計算出的主體樣式以及導致此計算樣式的CSS規則的繼承/覆蓋。

如果您設置了document.body.style.backgroundColor(而不是bgColor屬性),您會發現實際上可以在此更改背景顏色。這一切都取決於是否有其他規則在別的地方有更高的特異性。 DOM檢查員會告訴你情況是否如此。

+2

+1改變身上的顏色,認爲我們應該在元這個提議,我們應該? 'document.body.style.background =「pink」;' – Jeroen 2012-03-17 19:31:01

+0

@Jeroen它實際上看起來不錯。 – 2013-02-18 06:30:42

3

CSS是你的答案。嘗試

document.body.style.background="red"; 

CSS樣式取代了元素屬性。

+0

你是否這麼說,無論網站使用的CSS實現是什麼,背景顏色都會改變,因爲它取代了? – 2012-03-17 19:43:36

+0

好的,是的。頁面的背景會改變顏色。這可能不會改變您看到的顏色 - 許多網站使用具有自己背景顏色的容器div,或使用具有背景顏色的div的div。 – FrankieTheKneeMan 2012-03-17 21:56:00

3

如果你這樣做,背景也會改變。但正如您可以看到DOM檢查員所看到的那樣,背景並不是您真正看到的。這是一個叫containerdiv。如果你改變這個div的背景,你會看到更改

編輯:哦,我看到容器是transperent。所以使用document.body.style.backgroundColor然後它將工作。 :)

1

您可以隨時設置正文背景的顏色。但是,這並不一定反映當前觀點的背景。而且,如果元素的定義比您定義的定義更具體,則仍然會使用它們。所以,沒有「爲什麼不」,因爲你是正確的:你可以隨時在本地更改頁面。

-2
document.backgroundColor="red"; 
+1

請爲此解釋原因。 – Reg 2015-06-15 21:07:19

0

您可以在html中更改body的背景顏色。使用像這樣的代碼的CSS屬性。

<html> 
<head> 
    <style> 
     body { 
      background-color: red 
     } 
    </style> 
</head> 
<body> 
</body> 

您可以檢查更多的財產由該鏈接 http://www.webclasses.in/css-background/

+0

請注意,這個問題是關於通過編程方式改變背景顏色,而不是基本的CSS屬性。 – 2015-09-28 13:02:06