【问题标题】:change background color改变背景颜色
【发布时间】:2012-04-02 22:10:26
【问题描述】:

我想知道为什么有时我可以更改网页背景颜色,有时却不能。例如,在某些站点中,我只是在 chrome 控制台中键入 document.body.bgColor = "red",背景颜色会临时更改。但是,在 StackOverFlow 等其他站点中,这不起作用。由于我的浏览器已经加载了该页面,我应该能够更改如何在本地显示它。为什么不?谢谢你

【问题讨论】:

    标签: javascript html google-chrome browser


    【解决方案1】:

    在 Chrome 中,您可以使用 DOM 检查器查看计算出的正文样式,以及生成此计算样式的 CSS 规则的继承/覆盖。

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

    【讨论】:

    • +1,认为我们应该在元数据上提出这个建议吗? document.body.style.background = "pink";
    • @Jeroen 其实看起来还不错。
    【解决方案2】:

    CSS 是您的答案。试试

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

    CSS 样式取代元素属性。

    【讨论】:

    • 你是说这样做,无论网站使用什么css实现,背景颜色都会改变,因为它被取代了?
    • 嗯,是的。页面的背景将改变颜色。这可能不会改变您看到的颜色 - 许多网站使用具有自己背景颜色的容器 div,或具有背景颜色的 div 中的 div。
    【解决方案3】:

    如果你这样做,这里的背景也会改变。但是正如您在 DOM Inspector 中看到的那样,背景并不是您真正看到的东西。这是一个名为containerdiv。如果你改变这个 div 的背景,你会看到变化

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

    【讨论】:

      【解决方案4】:

      您始终可以设置正文背景的颜色。但是,这并不一定反映当前观点的背景。此外,如果元素的具体定义比您强加的定义更具体,它们仍将被使用。所以,没有“为什么不”,因为你是对的:你总是可以在本地更改页面。

      【讨论】:

        【解决方案5】:

        您可以在 html 中更改正文的背景颜色。像这段代码一样使用 css 属性。

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

        您可以通过此链接查看更多属性以更改正文颜色 http://www.webclasses.in/css-background/

        【讨论】:

        • 请注意,这个问题是关于通过 Javascript 以编程方式更改背景颜色,而不是基本的 CSS 属性。
        【解决方案6】:
        document.backgroundColor="red";
        

        【讨论】:

          猜你喜欢
          • 2013-07-20
          • 2015-05-23
          • 2018-03-08
          • 2011-05-16
          • 2013-04-28
          • 2021-02-08
          • 1970-01-01
          相关资源
          最近更新 更多