我可以使用自定义CSS,但是我更喜欢使用框架完全从richfaces创建的样式表中删除与边框相关的属性,而不是使用丑陋的CSS来反对框架并覆盖所有内容。
那么,如何阻止richfaces向面板和日历添加边框?
这个人有一个类似的问题
这个人有一个类似的问题
<u:style name="color" skin="abstractColorName" />
border: none;
background: transparent;
要开始使用插件和皮肤,您可以使用以下Maven2命令序列:
mvn archetype:generate -DarchetypeGroupId=org.richfaces.cdk -DarchetypeArtifactId=maven-archetype-plug-n-skin -DarchetypeVersion=3.3.0.GA -DartifactId=fil-skins -Dpackage=com.feelitlive.richfaces -DgroupId=com.feelitlive.server -Dversion=0.0.1-SNAPSHOT -DarchetypeRepository=http://repository.jboss.com/maven2/
cd fil-skins
mvn cdk:add-skin -Dname=fil -Dpackage=com.feelitlive.richfaces.skins
很遗憾,Eclipse插件无法在jboss存储库中找到原型,最好从命令行完成此操作(其他IDE可能处理得更好)。您需要更改artifactId、groupId、package、version和name属性以适应您的项目。选择一个反映多个皮肤定义范围的工件和包名称。
虽然需要大量工作,但可以将支持皮肤属性的通用格式xxxBackgroundEnabled和xxxBorderEnabled添加到RichFaces中,以便可以按情况关闭这些边框和背景CSS的呈现。
您需要与RichFaces团队一起使用org.richfaces.renderkit.html.css中的xcss文件进行修补。您还需要在其中一个XCSS JSF标记库(由XCSS文件中的http:/jsf.exadel.com/template/util或http:/jsf.exadel.com/template标识)中具有某种条件输出功能,我预计会在XCSS文件中包装一组CSS属性。
如果您对RichFaces进行了这样的修改,则可以从任何皮肤的属性文件中禁用有争议的CSS的呈现。
有一种名为plain
的皮肤,几乎没有任何样式与之关联。
以下是来自文档摘录:
从3.0.2版本开始添加了皮肤'plain'。它没有任何参数。将其嵌入到具有自己样式的现有项目中的RichFaces组件是必要的。
您可以通过添加来激活它
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>plain</param-value>
</context-param>
将文本翻译成中文:
要到web.xml
文件。
您还可以使用以下方法阻止RichFaces加载任何样式:
<context-param>
<param-name>org.richfaces.LoadStyleStrategy</param-name>
<param-value>None</param-value>
</context-param>
将其设置在web.xml
文件中。
但要注意,由于在JBoss Portlet Bridge 1.0.0中不起作用。
RichFaces内置了一个名为Skinnablity的皮肤系统。 Skinnability是标准CSS的高级扩展。 您可以创建自己的皮肤文件并在应用程序中使用(jboss文档)。
在richfaces-impl jar中,文件夹/META-INF/skins包含所有皮肤文件(.skin.properties)。 复制其中一个并重命名,修改您想要的内容。 您将需要重新构建jar。
或者
您可以使用richfaces的plug-n-skin功能,我以前从未尝试过,但看起来也适用于您要做的事情。