我希望使用自定义richfaces皮肤来处理我演示文稿的大部分工作.不幸的是,richfaces在日历组件和每个面板周围的每个单元格周围呈现边框.我想把它们关闭,以便天数站点在一个没有边框的开放网格中.使用皮肤或日历控件的属性没有明显的方法可以做到这一点.
我可以使用自定义CSS,但我更喜欢使用框架从richfaces创建的样式表中完全删除边框相关的属性,而不是使用丑陋的CSS来覆盖框架和覆盖所有内容.
那么如何阻止richfaces为面板和日历添加边框?
这家伙有similar problem
解决方法
从版本3.3.0.GA开始,不可能要求richfaces停止为边框和背景渲染CSS.必须覆盖内置样式表中的每个属性(org.richfaces.renderkit.html.css中包含的属性,这是richfaces-ui-3.3.0.GA.jar的一部分).
Plug and skin为您提供了必要的能力,就像使用常规技术添加的自定义CSS一样,虽然插件和皮肤可以说更好,因为您可以引用抽象颜色定义来补偿缺少的背景,如下所示:
<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,包,版本和名称属性以适合您的项目.选择反映用于保存多个皮肤定义的人工制品范围的人工制品和包装名称.
有可能 – 尽管做了很多工作 – 以通用格式xxxBackgroundEnabled和xxxBorderEnabled添加对皮肤属性的支持,以逐个关闭这些边框和背景CSS的渲染.
您需要与richfaces团队合作修补org.richfaces.renderkit.html.css中的xcss文件.您还需要在其中一个XCSS JSF标记库中使用某种条件输出功能(由http:/jsf.exadel.com/template/util或http:/jsf.exadel.com/template在XCSS文件中标识)我期望用它来包装XCSS文件中的CSS属性组.