!HTML类标记的重要等价物?

时间:2012-12-05 17:04:39

标签: html css class tags

我正在处理网站的真实哈希,所以这就是为什么我在问这个荒谬的问题。

我到处寻找某种方法让一个类覆盖HTML类标记中的另一个类无济于事。

我可以这样做,尝试解开一大堆意大利面(我可能不会允许这样做),或其他任何人都可以推荐的东西(非常感谢)。

这可能吗?

class="myClass !important"

如果没有,是否有某种等价物?

请帮忙!非常感谢提前!

5 个答案:

答案 0 :(得分:3)

不,那是不可能的。你恐怕要自己解决CSS Specificity

答案 1 :(得分:2)

您不能将!important用于整个选择器。您需要找到要覆盖的特定规则,并在每个规则上使用!important

答案 2 :(得分:2)

如果您能够更改HTML模板,您可以随时进入并向页面的最外层包装器添加<div id="override">或类似内容,以用作CSS中的“主”规则类。然后,在CSS中,您可以在任何现有类或需要修改的类之前添加该ID。

例如,如果您有以下内容并想要覆盖.some-class:

<div class="some-class">Bleh.</div>

和相应的CSS:

.some-class { color: red; }

你可以用以下内容包装整个内容:

<div id="override">
    <div class="some-class">Bleh.</div>
</div>

在.some-class之前添加#override(或任何你想要命名的内容),这个规则将优先于另一个:

#override .some-class { color: green; } /* This will override the red color form the other rule */
.some-class { color: red; }

答案 3 :(得分:0)

您可以按如下方式向选择器添加多个类:

class="myClass myClass2"

上面是HTML元素的类属性。

就CSS而言,按如下方式定义类:

.myClass {
    color: black;
    font-size: 14px;
}

以上只是您可能拥有的某些属性的示例。

在样式表中的“myClass”之后定义“myClass2”将允许“myClass2”中的属性覆盖“myClass”中匹配的属性:

//This goes below myClass
.myClass2 {
    font-size: 16px;
}

只要“myClass2”在“myClass”之后,您的字体将采用'16px;'的size属性“myClass”的值将被“myClass2”覆盖。如果“myClass2”出现在“myClass”之前,则可以使用!important来确保样式取代后面定义的样式:

//This goes above myClass
.myClass2 {
    font-size: 16px !important;
}

希望这有帮助。

答案 4 :(得分:0)

CSS类只是一组样式,因此您可以使用class代替内联style标记。 !important关键字可帮助您覆盖特定样式而不处理类。 所以,例如:

假设我们的CSS文件中的每个div都有一条css规则

div{border:solid 1px #ff0000;}

后来我们有了这条规则:

div{background:#000000;}

如果我们要覆盖div css规则,我们页面中的每个border都会包含backgrounddiv,我们需要执行以下操作:

div{background:none !important;border:none !important;/*...ADD YOUR CSS...*/}

你可以创建一个css重置类来重置你想要的所有设置,而不是添加你的css