我只是好奇我如何用自己的方法覆盖CSS?
Bottomline是,我的网站上有一些付款方式。我可以在“购买”部分更改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文件实际上是最后一个,我认为会覆盖另一个?但事实并非如此:(
那么有没有办法覆盖背景标记,以便它不显示?
提前致谢。
答案 0 :(得分:3)
两个选择者同样specific;但由于您的CSS文件包含在您尝试覆盖的规则之后,因此只需将background
属性设置为none
#header {
background: none;
}
答案 1 :(得分:1)
规则集不会被覆盖,只会被个别规则覆盖。
#header {
overflow: hidden;
position: relative;
background: none;
}
您不需要overflow
和position
规则,因为这些规则都将从其他规则集继承。
答案 2 :(得分:1)
只要您的css规则在默认值之后加载,您应该覆盖具有相同(或更低特异性)的规则。如果您想了解更多相关信息,请查看css的级联顺序。
当您声明您的css文件在默认值之后加载时,应该是安全的。覆盖仅适用于您指定的样式规则,其余部分继承自先前的规则。在你的情况下,你没有覆盖任何东西,你正在重新设置一些规则,但你要改变的是忽略。
要达到您想要的效果,您必须在css中添加以下内容:
#header {
background-image: none;
}
这样您就可以从背景中删除以前设置的图像,并保留所有其他规则。
答案 3 :(得分:0)
您可以将background-image设置为none:
#header {
overflow: hidden;
position: relative;
background-image: none;
}