即使我正在覆盖CSS类,也会使用旧的宽度值

时间:2012-07-18 13:14:13

标签: css twitter-bootstrap

我有两个CSS文件,为了简单起见,我们称它们为style1.css和style2.css。

我按顺序包含它们:

<link rel="stylesheet" type="text/css" href="style1.css" />
<link rel="stylesheet" type="text/css" href="style2.css" />

样式1是一个包含许多类和属性的更通用的文件。 Style2会覆盖这些。

例如,style1有:

.row-fluid > .span9 {
width: 74.358974359%;
}

然而,style2有:

.span9{
  width:50%;
}

我有一些包含.span9元素的.row-fluid DIV,第一个样式用于它们,即使浏览器只接受最后一条CSS规则,如果找到重复的选择器。

我通过访问Chrome开发者工具发现了这一点,我看到来自style9的span9定义为交叉,而style1中的定义位于顶部,而是用于替代。

PS:具体来说,style1是Twitter Bootstrap CSS,style2是我自己从头开始的CSS。

2 个答案:

答案 0 :(得分:8)

你理解cascading部分,但也许不是CSS的特殊性规则。第一个规则更具体地选择元素而不是第二个规则,因此选择它。

尝试将第二条规则更改为:

.row-fluid > .span9 {
    width: 50%;
}

答案 1 :(得分:1)

一个。你需要将“span9”改为“.span9”。

B中。这是关于CSS优先级的一个很好的资源。 http://www.vanseodesign.com/css/css-specificity-inheritance-cascaade/