样式类被忽略

Posted

技术标签:

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

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

.mycustomclass   font-size:20px; 

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

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

【问题讨论】:

【参考方案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 文件并在那里定义规则(当然你不能在那里引用皮肤规则) 我想这可能有点混乱,给我一些现实生活中的代码示例以使其更清晰。

以上是关于样式类被忽略的主要内容,如果未能解决你的问题,请参考以下文章

Room 数据库中的多对多关系。 Kotlin Junction 类被忽略

jackson使用了@JsonIgnoreType的类被继承了之后子类会被忽略,怎么让子类不被忽略?

生产构建后忽略组件样式

uiwebview 忽略样式标签

如何忽略网站某些部分的 CSS img 样式?

Angular - 样式被忽略/覆盖