【发布时间】:2014-09-28 20:17:28
【问题描述】:
我不希望使用!important,但如果没有其他方法可以做到这一点,我会这样做。
我有一个 CSS 规则来确定按钮的外观:
input[type=button] {
font: 24px "TF";
border-radius: 3px;
color: white;
background-color: #005299;
cursor: pointer;
}
然后,对于某些按钮,当它被点击时,它应该切换一个名为selected 的类。该类应该更改按钮的background-color,但它不会优先于元素样式(颜色不会改变,Firebug 会用删除线显示该类)。如何让selected 类优先?
在极端情况下,我也可以使用 Jquery 切换 css 样式,但我不希望这样做。
【问题讨论】:
-
input[type=button]的特异性值高于.selected。看看:stackoverflow.com/questions/21329824/… -
@HashemQolami 属性选择器与类选择器具有完全相同的特殊性,但这并不重要,因为问题在于内联样式。 (哦等等 - 是的,你是对的,因为它明确包含
input- 所以input.selected将是相同的。) -
@Pointy 我知道,您错过了获得
0,0,1,1特异性值的input部分。此外,按钮不会添加任何内联样式。 OP提到:it should toggle a class called selected -
是的,我明白了 - 我不是 100% 清楚 OP 所说的“元素样式”是什么意思,但你可能是对的,他的意思是 CSS 实际发布在问题中。