2015-11-19 36 views
5

在我的皮肤文件(这是延长斯基罗斯岛),我定义的规则为伪类支持在ADF

.arrow_box:after { 
    /*some css rules */ 
} 
.arrow_box:before { 
    /*some css rules */ 
} 

的主要目的是在包装盒上就像顶部创建一个箭头一个显示在CSSArrowPlease

的问题

当我运行的页面,都没有被应用伪类,因为它们越来越变成:

.arrow_box.p_AFAfter, .x1z2.p_AFAfter { 
    /*some css rules */ 
} 
.arrow_box.p_AFBefore, .x1z2.p_AFBefore { 
    /*some css rules */ 
} 

通知的:如何转换成.p_AFAfter.p_AFBefore。我将如何避免这种情况?

我也试图逃避选择:

.arrow_box\:after { 
    /*some css rules */ 
} 

但是被记入

.arrow_box\.p_AFAfter, .x1z2.p_AFAfter { 
    /*some css rules */ 
} 

任何解决方法吗?我的JDeveloper版本是11.1.1.9.0

PS

DISABLE_CONTENT_COMPRESSION是不是一种选择,因为我没有在服务器上的文件web.xml控制。

回答

0

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

该文件不会被皮肤引擎进行修改,你会得到你所有的风格,因为它是。但你不能指代组件样式并在styleClass属性组件显式地提供的css类名。

0

加给你的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> 

这会防止你的CSS类被扰乱禁用CSS压缩。

+0

那么,这肯定会有助于本地主机级别。但是,一旦我部署我的应用程序的WebCenter门户网站,它会再次因为在服务器上,在'DISABLE_CONTENT_COMPRESSION'键将被设置为'FALSE'失败 – asprin