如何用另一个CSS覆盖CSS中定义的背景图像?

aat*_*que 26 css background-image

我有一个'Core.css',它为网站定义了一个页面背景图像以及主题.但对于特定页面,我只想改变背景.有关如何在单独的CSS文件中实现这一点的任何建议?

该页面的HTML是:

<head>
    <link rel="stylesheet" type="text/css" href="core.css" />
    <link rel="stylesheet" type="text/css" href="index.css" />
Run Code Online (Sandbox Code Playgroud)

而core.css定义:

body
{
        background-image: url('bg.png');
}
Run Code Online (Sandbox Code Playgroud)

而index.css定义:

body
{
    background-image:('homeBg.png');
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

unk*_*isk 49

如果要用任何内容替换背景图像(即使其无效或"关闭"),请在下游样式表中使用"none"关键字:

 background-image: none;
Run Code Online (Sandbox Code Playgroud)


raR*_*aRa 13

后面定义的背景应该替换以前的背景.所以如果你有:

Site1.css有:

.img {
    background: ...
}
Run Code Online (Sandbox Code Playgroud)

Site2.css有:

.img {
    background: ...
}
Run Code Online (Sandbox Code Playgroud)

如果Site2.css包含在页面上的Site1.css之后,则Site2.css .img将替换Site1.css中的.img.

更新:我不确定为什么身体标签没有被正确更换.你可以尝试给它一个类或id,并用它代替身体吗?

例如

<body id="backgroundTest">
Run Code Online (Sandbox Code Playgroud)

然后在css文件中你会做 #backgroundTest { background-image... }

为了以防万一,你能检查homeBg.png是否存在以及index.css.http://yourpage.com/homeBg.pnghttp://yourpage.com/index.css都应该存在.