2012-03-17 239 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