2012-12-22 31 views
1

我有一个关于CSS文件的问题,它是在浏览器中应用的顺序。 我们:申请订单的CSS文件

  1. 浏览器(系统)CSS文件,
  2. 用户CSS文件,
  3. 用户CSS重要文件,
  4. 网站CSS文件,
  5. 网站CSS重要文件,

页面加载时,一些CSS代码根据顺序或!重要的词语替换其他代码。我上面列出的订单是正确的,所以网站CSS重要文件可以覆盖所有以前的样式?

+0

你想要什么?你是否希望能够使用'site CSS important file'中的样式重载所有样式?如果是,那么顺序是正确的。 –

回答

2

CSS代码不会替代其他CSS代码,并且解析样式表的顺序不相关。实际上没有应用顺序,因为所有适用的样式表都被考虑在内。当几个样式表为一个元素的属性赋值时,冲突根据cascade rules解决。顺序则是:

  1. 用户代理报关(浏览器的默认样式)

  2. 用户正常声明

  3. 作者(页)正常声明

  4. 作者(页)重要声明

  5. 用户重要声明

因此,作者(页)!important声明胜过一切,但用户!important声明。在Css 1中,顺序是不同的,但在CSS 2和浏览器中按照现行规则进行了更改:如果用户希望行使其权限,则用户始终拥有最后一个字。

0

编号用户CSS文件将在网站CSS文件后解析(否则用户CSS文件没有任何意义)。这并不意味着它会自动覆盖网站的css文件中的所有内容,但正常CSS specificity rules仍然适用。

让我们把红色的所有段落为例我的网站有规则:

website.css: p { color: red; } 

但是,如果我实现用户样式表(如userContent.css在FireFox)说:

FireFox userContent.css: p { color: blue; } 

文字颜色为蓝色。

如果我然后标记该网站的规则很重要:

website.css: p { color: red; !important } 

颜色将再次红了。