更改背景颜色

5

我想知道为什么有时候我可以更改网页的背景颜色,而有时候就不行。例如,在某些网站上,我只需在Chrome控制台中输入document.body.bgColor = "red"即可更改背景颜色。然而,在像StackOverFlow这样的其他网站上,这种方法就不起作用了。由于我的浏览器已经加载了页面,我应该能够在本地更改它的显示方式。那为什么不行呢?谢谢

6个回答

8

在Chrome浏览器中,您可以使用DOM检查器查看body元素的计算样式,以及导致该计算样式的CSS规则的继承/覆盖。

如果您设置document.body.style.backgroundColor(而不是bgColor属性),您会发现您实际上可以在此更改背景颜色。这完全取决于是否有其他具有更高特异性的规则存在。DOM检查器将告诉您是否存在这种情况。


2
+1,我认为我们应该在 Meta 上提出这个建议,你觉得呢?document.body.style.background = "pink"; - Jeroen
@Jeroen 实际上看起来还不错。 - Ates Goral

3
CSS就是你的答案。试试吧。
document.body.style.background="red";

CSS样式覆盖元素属性。

你的意思是说,通过这样做,背景颜色将会改变,无论网站使用什么样的CSS实现,因为它具有最高优先级? - Cong Hui
恩,是的。页面的背景颜色会改变。但这可能不会改变您看到的颜色 - 许多网站使用具有自己背景颜色的容器div,或具有背景颜色的嵌套div。 - FrankieTheKneeMan

3
如果你这样做,背景也会在这里改变。但是如您通过DOM检查器所见,背景并不是您真正看到的东西。这是一个名为“container”的
元素。如果您更改此
元素的背景,则会看到更改。

编辑:哦,我看到容器是透明的。使用document.body.style.backgroundColor,然后它就可以工作了。 :)


1

您始终可以设置页面背景的颜色。但是,这并不一定反映当前视图的背景。此外,如果某个元素有比您所施加的定义更具体的定义,则仍将使用它们。因此,没有“为什么不”的问题,因为您是正确的:您始终可以在本地更改页面。


0

您可以在HTML中更改页面的背景颜色。使用类似以下代码的CSS属性。

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

您可以通过此链接http://www.webclasses.in/css-background/检查更多属性以更改页面主体的颜色。


请注意,此问题是关于通过Javascript编程方式更改背景颜色,而不是基本的CSS属性。 - Rory McCrossan

-2
document.backgroundColor="red";

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接