【问题标题】:StyleClass ignored样式类被忽略
【发布时间】:2014-01-01 07:40:19
【问题描述】:

我在使用 ADF 时遇到了一个非常奇怪的问题。我通过 StyleClass 向组件添加了一个自定义类,我检查了站点,它就在那里。但是当我将其样式添加到皮肤文件时,如下所示:

.mycustomclass{   font-size:20px; }

然后再次运行该文件,该组件没有我设置的自定义类,而是具有“x1ni”并且它以 x1nk、x1nj、x1u 的形式运行。 因此,由于某种原因,所有使用的类都会以这样的形式重命名,当然也会被 CSS 文件忽略。任何不使用的类都可以。

谁能解释这个问题背后的原因以及我该如何解决它以保留我的自定义类?

【问题讨论】:

    标签: css oracle components oracle-adf skin


    【解决方案1】:

    这是由于皮肤 css 压缩/混淆造成的。 您可以通过向 web.xml 添加参数来禁用此行为

      <context-param>
        <description>Disable obfuscation of CSS rules</description>
        <param-name>org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION</param-name>
        <param-value>true</param-value>
      </context-param>
    

    虽然它只推荐用于开发周期,所以当你投入生产时将其切换回 false

    【讨论】:

    • 谢谢。另一个简单的问题是,在它投入生产后,如果删除或添加某些组件然后重新投入生产,我的类有什么机会搞砸。我的意思是,如果文档组件发生变化,他生成的类不会与其他类混合是多么安全。
    • 如果您在皮肤中定义它们并仅用于 ADF 组件,则它是安全的。如果您将使用自定义 javascript/html 包含,它将失败。对于这种情况,你应该包含单独的 css 文件并在那里定义规则(当然你不能在那里引用皮肤规则)
    • 我想这可能有点混乱,给我一些现实生活中的代码示例以使其更清晰。
    猜你喜欢
    • 2016-07-24
    • 2018-08-04
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多