是否可以将整个CSS设置为优先于另一个CSS?

时间:2011-11-19 21:52:30

标签: java css jsf primefaces

我正在构建一个使用Java EE(使用JSF和Primefaces)创建的Web应用程序,我希望覆盖Primefaces给组件的样式。是否可以将整个样式表设置为首选?就像整个文件说“重要”一样?

1 个答案:

答案 0 :(得分:1)

如果你可以在Primefaces CSS之后声明你的CSS,你的CSS将优先。

取自CSS规范:

  

6.4.1级联顺序

     

要查找元素/属性组合的值,用户代理必须应用以下排序顺序:

     

查找适用于目标媒体类型的相关元素和属性的所有声明。如果关联的选择器与相关元素匹配且目标媒体与包含声明的所有@media规则上的媒体列表以及到达样式表的路径上的所有链接匹配,则声明适用。      根据重要性(正常或重要)和来源(作者,用户或用户代理)进行排序。按升序排列:

  1 user agent declarations  
  2 user normal declarations  
  3 author normal declarations  
  4 author important declarations  
  5 user important declarations   
     

根据选择器的特异性对具有相同重要性和原点的规则进行排序:更具体的选择器将覆盖更一般的选择器。伪元素和伪类分别计为普通元素和类。

     

最后,按指定顺序排序:如果两个声明具有相同的权重,来源和特异性,后者指定胜利。导入样式表中的声明被认为是在样式表本身中的任何声明之前。

否则,不,你必须将每个元素标记为!important我害怕。