【问题标题】:separate Primefaces css and other css styles分离 Primefaces css 和其他 css 样式
【发布时间】:2014-12-02 13:48:58
【问题描述】:
当我在自己的模板化(主要是引导程序)网站中使用 primefaces 组件时,它们会覆盖彼此的 css 属性。
- 我可以重新排序资源,但这并不能完全解决问题,因为 Primefaces css 和模板 css 之间的某些 css 属性将被覆盖。
- 我可以创建自己的 primefaces css 或更改当前的一般
模板但我认为这将花费我几个月的时间。
那么,我如何才能将 primefaces css 与网站的 general template css 完全分开,以使 primefaces css 属性不能被覆盖或它们不能覆盖其他 css 的属性?一些系统会让他们只使用他们自己想要的 css 属性(或文件)。
【问题讨论】:
标签:
html
css
jsf
primefaces
【解决方案1】:
CSS 的完整理念是 C = Cascading。
您的要求是从方程式中删除级联。
PrimeFaces CSS 不应与 PrimeFaces 的任何其他 CSS 规则发生冲突,CSS 是针对组件的。
您更有可能希望 bootstrap 采用“Master” CSS 引导程序,在这种情况下,您应该使用 facet 进行排序,PrimeFaces 将资源包含在 first facet 中:
<f:facet name="middle">
<!-- bootstrap goes here -->
</f:facet>
根据我的个人经验,将 PrimeFaces 规则覆盖到引导规则中并不需要几个月的时间!
或者你应该采取没有主题的 PrimeFaces 的艰难方式
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>none</param-value>
</context-param>
这种方法需要花费太多时间来弄清楚组件所需的基本 CSS,我宁愿使用默认主题并覆盖这些规则。