防止PrimeFaces渲染样式类

防止PrimeFaces渲染样式类,primefaces,jsf-2,Primefaces,Jsf 2,我正在尝试在现有应用程序中使用一些Primefaces功能。我不希望Primefaces现在弄乱我现有的CSS,所以我尝试在我的web.xml中: <context-param> <param-name>primefaces.THEME</param-name> <param-value>none</param-value> </context-param> 主题 没有一个 但是,PrimeFaces仍

我正在尝试在现有应用程序中使用一些Primefaces功能。我不希望Primefaces现在弄乱我现有的CSS,所以我尝试在我的
web.xml
中:

<context-param>
    <param-name>primefaces.THEME</param-name>
    <param-value>none</param-value>
</context-param>

主题
没有一个

但是,PrimeFaces仍在渲染my elements中所有类型的
ui按钮ui小部件ui状态默认ui角所有ui按钮文本图标,这会影响我当前的CSS样式。我不认为将CSS移动到正文是一个好的、优雅的解决方案,我也不认为使用
是一个好的解决方案!重要信息
。我怎样才能阻止PrimeFaces插入所有不需要的样式?

你的问题一开始有点让人困惑。您找到的解决方案只能用于防止主题化,这基本上可以归结为设置自定义样式表。这不会更改组件的渲染方式。正如您所注意到的,样式类无论如何都会被渲染。这不能被“阻止”(如关闭),但您可以为您想要自定义的组件设置。但是要小心。。JavaScript特性可能需要一些样式类

另一种解决方案可能是切换到JSF核心HTML或其他组件库,如或。这取决于您需要的组件,并且在使用不同的库时可能会遇到相同的问题


或者,你可以坚持使用PrimeFaces并学习如何使用它。这可以在正文中不使用任何CSS或使用
来完成!重要信息
。只需创建一个具有更具体规则的样式表。

您的问题一开始有点让人困惑。您找到的解决方案只能用于防止主题化,这基本上可以归结为设置自定义样式表。这不会更改组件的渲染方式。正如您所注意到的,样式类无论如何都会被渲染。这不能被“阻止”(如关闭),但您可以为您想要自定义的组件设置。但是要小心。。JavaScript特性可能需要一些样式类

另一种解决方案可能是切换到JSF核心HTML或其他组件库,如或。这取决于您需要的组件,并且在使用不同的库时可能会遇到相同的问题


或者,你可以坚持使用PrimeFaces并学习如何使用它。这可以在正文中不使用任何CSS或使用
来完成!重要信息
。只需创建一个具有更具体规则的样式表。

您是否尝试了第二个答案?覆盖CSS文件不会阻止JSF标记my elementsTagging?你是说增加课程?是什么让你认为禁用主题可以防止这种情况发生?它们是PrimeFaces元素,而不是你的元素……因此添加
ui按钮
“标记”是它们的“权利”。而且,许多组件需要结构化css来进行排序,或者根据您的喜好进行样式设置,而无需付出太多努力。第二个答案@JasperdeVries指的是可能会做你实际需要的事情(在很大程度上),但也可能需要你做更多的工作。你读了吗?@Jasper de Vries这就是为什么我像上面所说的那样“尝试”,但显然没有成功。你尝试过第二个答案吗?覆盖CSS文件并不能阻止JSF标记我的元素Stagging?你是说增加课程?是什么让你认为禁用主题可以防止这种情况发生?它们是PrimeFaces元素,而不是你的元素……因此添加
ui按钮
“标记”是它们的“权利”。而且,许多组件需要结构化css来进行排序,或者根据您的喜好进行样式设置,而无需付出太多努力。第二个答案@JasperdeVries指的是可能会做你实际需要的事情(在很大程度上),但也可能需要你做更多的工作。你读了吗?@Jasper de Vries这就是为什么我像上面所说的那样“尝试”,但显然不起作用。如果你一开始就使用一个基于SASS的商业主题,调整就更容易了。。。颜色方面,边框方面,填充方面。。。6.2 btw附带的和声主题也是基于SASS的。我之前就开始了一个主题。它还没有完成,但它可能会给你一个想法/出发点基于此,我想我要寻找的答案是:没有办法删除它们。你要么覆盖它们,要么避免在你的CSS和你使用的任何其他CSS中使用相同的名称。。。颜色方面,边框方面,填充方面。。。6.2 btw附带的和声主题也是基于SASS的。我之前就开始了一个主题。它还没有完成,但它可能会给你一个想法/出发点基于此,我想我要寻找的答案是:没有办法删除它们。要么覆盖它们,要么避免在CSS和任何其他CSS中使用相同的名称。