是否有可能给一个CSS类优先于另一个?
说我有一个div使用两个CSS类,都使用文本alignment,但一个是居中,另一个是右alignment。
是否有可能指定的东西,将给予一类优先于其他?
- 指定一个更具体的select器,例如在它之前加一个ID,或者在类之前加上nodename
- 分配在另一个class之后
- 如果两个类位于不同的文件中,请先导入优先级文件
- !重要
!important
是懒惰的方式,但你真的应该去#1,以避免重要的。 一旦你添加了一个!important
你不能用它来制定更重要的规则。
如果您想明确说明,可以通过为包含这两个类的元素提供规则来指定这两个类的组合。 例如,你可以明确地给两个类foo
和bar
的东西,像bar
一样的样式如下。 这是有效的,因为.foo.bar
比具有两个类的元素更具体,因此该规则将优先于.foo
规则。
.foo { text-align: center } .bar, .foo.bar { text-align: right }
如果你不想这么明确,那么你可以把规则放在foo
的规则之后,就像给定的具有相同特征的select符一样,后面的规则优先于以前的规则:
.foo { text-align: center } .bar { text-align: right }
您可以详细了解CSS规范章节中关于级联的规则之间的优先顺序。 那就是CSS的“C”,为了充分发挥CSS的优势,理解起来很重要。
您应该使用CSS特性来覆盖以前的声明http://htmldog.com/guides/cssadvanced/specificity/
p = 1 point .column = 10 points #wrap = 100 points
所以: p.column { text-align: right; }
p.column { text-align: right; }
可以被覆盖: body p.column { text-align: left; }
body p.column { text-align: left; }