0

我只是好奇我如何用自己的 CSS 覆盖?

底线是,我的网站上有一些付款的东西。我可以在“购买”部分更改layoyt 的唯一方法是更改​​CSS。我不能改变它自己的 HTML,或者添加任何东西。仅更改 CSS 文件。

在我正在创建的那个中,我有一个如下的标题:

#header {
overflow: hidden;
position: relative;
}

但是另一个我无法删除或更改的 CSS 文件得到了:

#header {
overflow: hidden;
position: relative;
background: transparent url("logo-bg.png") repeat-x top;
}

这破坏了我的标题,因为我不知道那个背景:)

有趣的是,我的 CSS 文件实际上是最后一个,我认为它会覆盖另一个?但它没有:(

那么有没有办法覆盖背景标签所以它不显示?

提前致谢。

4

4 回答 4

3

两个选择器同样具体;但由于您的 CSS 文件包含在您尝试覆盖的规则之后,只需将background属性设置为none

#header {
    background: none;
}

http://jsfiddle.net/PqdmU/

于 2013-06-06T21:46:29.353 回答
1

规则集不会被覆盖,只有个别规则。

#header {
    overflow: hidden;
    position: relative;
    background: none;
}

您也不需要overflowandposition规则,因为它们都将从另一个规则集中继承。

于 2013-06-06T21:46:01.167 回答
1

只要您的 css 规则是在默认规则之后加载的,您就应该覆盖具有相同(或较低特异性)的规则。如果您想了解更多信息,请查看 css 的级联顺序。

正如您所说,您的 css 文件是在默认文件之后加载的,这应该是安全的。覆盖仅适用于您指定的样式规则,其余的都是从以前的规则继承的。在您的情况下,您没有覆盖任何内容,您正在再次设置一些规则,但是您要更改的规则却被忽略了。

为了达到你想要的效果,你必须在你的 css 中加入以下内容:

#header {
   background-image: none;
}

通过这种方式,您可以从背景中删除之前设置的图像,同时保持所有其他规则不变。

于 2013-06-06T21:52:13.640 回答
0

您可以将背景图像设置为无:

#header {
    overflow: hidden;
    position: relative;
    background-image: none;
}
于 2013-06-06T21:47:47.757 回答