Css ADF中的伪类支持

Css ADF中的伪类支持,css,jsf,oracle-adf,Css,Jsf,Oracle Adf,在我的皮肤文件(扩展了Skyros)中,我定义了一个规则 .arrow_box:after { /*some css rules */ } .arrow_box:before { /*some css rules */ } 主要目的是在框的顶部创建箭头,如中所示 问题 当我运行页面时,不会应用伪类,因为它们会被更改为: .arrow_box.p_AFAfter, .x1z2.p_AFAfter { /*some css rules */ } .arrow_box.p_A

在我的皮肤文件(扩展了Skyros)中,我定义了一个规则

.arrow_box:after {
    /*some css rules */
}
.arrow_box:before {
    /*some css rules */
}
主要目的是在框的顶部创建箭头,如中所示

问题 当我运行页面时,不会应用伪类,因为它们会被更改为:

.arrow_box.p_AFAfter, .x1z2.p_AFAfter {
    /*some css rules */
}
.arrow_box.p_AFBefore, .x1z2.p_AFBefore {
    /*some css rules */
}
请注意
是如何转换为
.p\u afafafafter
.p\u AFBefore
的。我该如何避免这种情况

我还尝试了转义选择器:

.arrow_box\:after {
  /*some css rules */
}
但这被翻译成了

.arrow_box\.p_AFAfter, .x1z2.p_AFAfter {
    /*some css rules */
}
有解决办法吗?我的jDeveloper版本是11.1.1.9.0

附言
DISABLE\u CONTENT\u COMPRESSION
不是一个选项,因为我无法控制服务器上的
web.xml
文件。

通过将此文件添加到
web.xml

<context-param>
  <description>Set to true to disable compression of CSS class names for
               skinning keys and have more human readable class
               names</description>
  <param-name>org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION</param-name>
  <param-value>true</param-value>
</context-param>

设置为true可禁用对的CSS类名的压缩
蒙皮键和具有更多可读性的类
名字
org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION
真的

这将防止您的CSS类被混淆。

您必须了解皮肤文件并不是真正的CSS文件。它是蒙皮引擎处理的蒙皮文件。当处理组件样式时,您必须使用它。
但是,如果您只需要自定义css,您可以创建简单的css文件并将其包含在页面中。您仍然可以将其保存在skin项目中或在web项目中创建。


皮肤引擎不会修改此文件,您将获得所有样式。但是您将无法引用组件样式,并且必须在
styleClass
属性中明确地为组件提供css类名。

好的,这在本地主机级别上肯定会有所帮助。但一旦我将应用程序部署到webcenter portal,它将再次失败,因为在服务器上,
DISABLE\u CONTENT\u COMPRESSION
键将设置为
false