是否有可能给一个CSS类优先于另一个?

说我有一个div使用两个CSS类,都使用文本alignment,但一个是居中,另一个是右alignment。

是否有可能指定的东西,将给予一类优先于其他?

  1. 指定一个更具体的select器,例如在它之前加一个ID,或者在类之前加上nodename
  2. 分配在另一个class之后
  3. 如果两个类位于不同的文件中,请先导入优先级文件
  4. !重要

!important是懒惰的方式,但你真的应该去#1,以避免重要的。 一旦你添加了一个!important你不能用它来制定重要的规则。

如果您想明确说明,可以通过为包含这两个类的元素提供规则来指定这两个类的组合。 例如,你可以明确地给两个类foobar的东西,像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; }