覆盖CSS标记以​​取消当前标记

时间:2017-09-13 13:29:30

标签: html css css3

对于我必须维护的网站,我需要添加一些CSS。不幸的是,我的公司与构建网站的公司之间存在一些法律问题。这意味着我无法访问服务器上的文件。但是,我有一个内置选项来添加在标题中内嵌加载的自定义CSS。

当前的CSS主题文件包含以下行:

@media (min-width: 769px)
.account-page .address-item:nth-child(3n+1), .account-page .order-item:nth-child(3n+1), .account-page .request-item:nth-child(3n+1) {
    margin-left: 0;
    clear: both;
}

这需要从(3n + 1)更改为(2n + 1)。 所以我尝试重新编写CSS并将其放入自定义CSS字段中。

.account-page .address-item:nth-child(2n+1) {
margin-left: 0;
clear: both;
}

这很好用,但不会取消其他CSS。上面代码中给出的样式在第1和第2项上有效(这很好)但是(由于主题文件中的原始代码)它在第4项上也有效。

我试图添加:

.account-page .address-item:nth-child(3n+1) {

}

但它没有做任何事情。原始CSS中提到的两个项目(边缘左边和清除边缘)都没有在其他项目中提及,所以我不知道给它们有什么价值。

有人知道如何在不编辑原始CSS主题文件的情况下完全取消第一个CSS代码的方法吗?

3 个答案:

答案 0 :(得分:1)

如果要覆盖css而不更改当前值,请复制选择器并将值设置为默认值

.account-page .address-item:nth-child(3n+1) {
margin-left: auto;
clear: none;
}

这个选择器应该在第一个选择器下,如果它仍然没有尝试这个

.account-page .address-item:nth-child(3n+1) {
margin-left: auto!important;
clear: none!important;
}

答案 1 :(得分:1)

你应该这样做:

.account-page .address-item:nth-child(3n+1) {
    margin-left: auto!important;
    clear: none!important;
}

将其添加到文件的末尾

答案 2 :(得分:0)

要使您的值覆盖原件,您需要将!important添加到值的末尾,例如波纹管片段。 !important规则是一种制作CSS级联的方法,但也包含您认为最重要的规则。无论CSS文档中出现该规则的哪个位置,都将始终应用具有!important属性的规则。

.account-page .address-item:nth-child(3n+1) {
    margin-left: auto !important;
    clear: none !important;
}