我想使用richfaces 面板,因为它基本上是正确的形状并且是可换肤的,所以我可以更改字体、颜色等。但是,作为默认皮肤的一部分,包含标题的水平条具有渐变。我的设计有一个简单的颜色,没有任何渐变。
如何停止 Richfaces 添加渐变?
如果可能的话,我想从 CSS 中彻底删除对渐变的所有提及,以避免膨胀和额外的 HTTP 图像请求。即我要渲染:
背景颜色:黑色;
什么都没有。
我正在使用插件和皮肤。
似乎像这个问题一样,答案是如果不改变richfaces,它可能是不可能的。感谢您的输入。
我意识到我回答这个问题有点晚了,但我想我会提出解决这个问题的方法。
我正在为我的项目使用 RichFaces Plug-n-Skin,并且我可以通过禁用 RichFaces 的控件皮肤来删除所有渐变和预定义样式。这是我的 web 项目的 web.xml 中的一个简单更改。
...
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>PlugNSkinName</param-value>
</context-param>
<!-- Suppress stylesheets -->
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING</param-name>
<param-value>disable</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING_CLASSES</param-name>
<param-value>disable</param-value>
</context-param>
...
根据您的需要,这可能有点矫枉过正,但无论如何我都会覆盖我所有 RichFaces 组件上的几乎所有内容。这允许我在我的 Plug-n-Skin 中指定我想要的所有样式,并且不会加载任何我不需要的不必要的默认 RichFace 样式/图像。
希望这可以帮助。
Richfaces 网站上有一个示例可以为带有 CSS 的 dataTables 执行此操作。Rich:panel的文档说标题的类是rich-panel-header,所以我认为 CSS 应该是:
.rich-panel-header {
background-image:none;
background-color:transparent;
}
编辑:值得注意的是,包含这些 mod 的 CSS 必须在加载 Richfaces 皮肤后加载,因为在此之后加载的任何 CSS 都可能使其过载。
添加到您的 web.xml 文件中。
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>plain</param-value>
</context-param>
然后您可以使用您的插件-n-skin 对其进行修改。
编辑:
RichFaces 有一个内置的皮肤系统,称为 Skinnablity。Skinnability 是标准 CSS 的高级扩展。您可以创建自己的皮肤文件以在您的应用程序中使用(jboss 文档)。
在richfaces-impl jar 中,文件夹/META-INF/skins 包含所有皮肤文件(.skin.properties)。复制一个并重命名它,修改你想要的。您将不得不重建 jar。
为什么不用普通的皮肤?看看这个http://livedemo.exadel.com/richfaces-demo/richfaces/panel.jsf?s=plain
如您所见,我已将皮肤设置为“普通”类型,这看起来就像您想要的组件一样。