如何更改页面的整个背景颜色?

时间:2013-07-13 23:46:19

标签: jquery html css

基于此处类似问题的回答:How can I dynamically change the background-color html?

...我将此代码添加到事件中:

    $('html').removeClass('bronzeBackground silverBackground goldBackground').addClass('bronzeBackground');

这部分有效,但颜色仅在页面的一部分中更改。我必须做什么才能让页面的整个背景使用颜色?除了'html'以及其他元素之外,我还需要指定'body'吗?必须有一个标签改变所有方法......

更新

在相关的说明中,我不知道为什么,但是虽然添加这个CSS不起作用:

#BooksContent #MoviesContent #MusicContent {
    background-color: black !important;
}

...在动态填充div的内容(id =“BooksContent”)之后在我的jQuery中添加它确实有效:

$('#BooksContent').css('background-color', 'black');

4 个答案:

答案 0 :(得分:2)

如果您不想使用maxton的答案,可以使用

$('.bronzeBackground, .silverBackground, .goldBackground').removeClass('bronzeBackground silverBackground goldBackground');

$('body').addClass('bronzeBackground');

(编辑,删除愚蠢的拼写错误)

答案 1 :(得分:1)

对于页面上的每个元素,这将起作用:

$('*').removeClass('bronzeBackground silverBackground goldBackground').addClass('bronzeBackground');

答案 2 :(得分:1)

试试这个

$(document.body).removeClass('bronzeBackground silverBackground goldBackground').addClass('bronzeBackground');

答案 3 :(得分:1)

哪些元素受配色方案影响完全取决于您 - 设置页面上每个元素的背景颜色可能不是您想要的。

你展示的JS很好,但是你需要在CSS中使用它,你可以使元素具有透明背景,或列出多个选择器以具有相同的样式,例如。

body.silverBackground, body.silverBackground nav, body.silverBackground div#main /* etc */
{
     /* CSS for "silver" theme background */
}
body.silverBackground a
{
    /* corresponding link colour to match theme */
}