我正在处理一个网站的真实哈希,所以这就是我问这个荒谬问题的原因。
我到处寻找某种方法来使一个类覆盖 HTML 类标记中的另一个类,但无济于事。
我可以这样做,尝试解开一吨意大利面(无论如何我可能不会被允许这样做),或者其他任何人都可以推荐的东西(将不胜感激)。
这可能吗?
class="myClass !important"
如果没有,是否有某种等价物?
请帮忙!提前谢谢了!
不,那是不可能的。恐怕您将不得不自己解决CSS 特异性。
您不能!important
用于整个选择器。您需要找到要覆盖的特定规则,并!important
在每个规则上使用。
如果您有能力更改 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; }
您可以向选择器添加多个类,如下所示:
class="myClass myClass2"
以上是您的 HTML 元素上的 class 属性。
就 CSS 而言,定义类如下:
.myClass {
color: black;
font-size: 14px;
}
以上只是您可能拥有的一些属性的示例。
在样式表中的“myClass”之后定义“myClass2”将允许“myClass2”中的属性覆盖“myClass”中的匹配属性:
//This goes below myClass
.myClass2 {
font-size: 16px;
}
只要“myClass2”在“myClass”之后,你的字体就会采用'16px;'的大小属性 “myClass”的值将被“myClass2”的值覆盖。如果 "myClass2" 出现在 "myClass" 之前,您可以使用 !important 来确保样式被稍后定义的样式取代:
//This goes above myClass
.myClass2 {
font-size: 16px !important;
}
希望这可以帮助。
CSS 类只是一组样式,因此您可以使用class
而不是内联style
标记。该!important
关键字可帮助您覆盖特定样式而不是处理类。因此,例如:
假设我们div
在 CSS 文件的每个地方都有一个 CSS 规则
div{border:solid 1px #ff0000;}
后来我们有了这个规则:
div{background:#000000;}
我们页面中的每一个div
都将带有border
和 abackground
如果我们想要覆盖div
css 规则,我们需要执行以下操作:
div{background:none !important;border:none !important;/*...ADD YOUR CSS...*/}
您可以创建一个 css 重置类来重置您想要的所有设置,然后添加您的 css