我正在处理网站的真实哈希,所以这就是为什么我在问这个荒谬的问题。
我到处寻找某种方法让一个类覆盖HTML类标记中的另一个类无济于事。
我可以这样做,尝试解开一大堆意大利面(我可能不会允许这样做),或其他任何人都可以推荐的东西(非常感谢)。
这可能吗?
class="myClass !important"
如果没有,是否有某种等价物?
请帮忙!非常感谢提前!
答案 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
都会包含background
和div
,我们需要执行以下操作:
div{background:none !important;border:none !important;/*...ADD YOUR CSS...*/}
你可以创建一个css重置类来重置你想要的所有设置,而不是添加你的css