【问题标题】:GWT - problems with constants in cssGWT - css中的常量问题
【发布时间】:2010-04-14 23:27:06
【问题描述】:

我是 GWT 的新手;我正在构建一个小型示例应用程序。我有几个 CSS 文件。我能够成功地使用 ClientBundle 和 CssResource 将样式分配给我的 UiBinder 脚本中定义的元素。

现在我想更进一步,使用@def css-rule 引入CSS 常量。当我定义一个常量并在同一个 CSS 文件中使用它时,@def 效果很好。但是我不能在另一个 CSS 文件中使用它。当我尝试使用 @eval 规则来评估现有常量时,编译器会抛出一个 execption:“无法对非静态方法进行静态引用”。

这是我正在尝试做的一个示例:

ConstantStyle.css

@def BACKGROUND red;

ConstantStyle.java

package abc;
import ...;
interface ConstantStyle extends cssResource {
         String BACKGROUND();
}

MyStyle.css

@eval BACKGROUND abc.ConstantStyle.BACKGROUND();
.myClass {background-color: BACKGROUND;}

MyStyle.java

package abc;
import ...;
interface ConstantStyle extends cssResource {
         String myClass;
}

MyResources.java

package abc;
import ...;
interface MyResources extends ClientBundle {
    @Source("ConstantStyle.css")
     ConstantStyle constantStyle();

    @Source("MyStyle.css")
    MyStyle myStyle();
}

提前致谢!

【问题讨论】:

    标签: css gwt constants


    【解决方案1】:

    "ConstantStyle.css" 添加到ClientBundle 中的@Source 注释中,如下所示:

    package abc;
    import ...;
    interface MyResources extends ClientBundle {
        @Source("ConstantStyle.css")
         ConstantStyle constantStyle();
    
        @Source({"ConstantStyle.css", "MyStyle.css"})
        MyStyle myStyle();
    }
    

    它的作用与 MyStyle.css 中的 @import "ConstantStyle.css" 相同(我相信 GWT 会忽略 @import)。

    你不需要@eval。

    【讨论】:

    • 小语法错误 - 在 @Source 指令中需要 '{' 和 '}' 以定义两个 css 文件......就像这样:@Source({"path/to/definitions.css ", "foo.css"}) 如stackoverflow.com/questions/9284168/…中所述
    • (我已经发送了一个编辑请求以应用之前评论中建议的更改)
    【解决方案2】:

    我在代码中这样做的方式是简单地引用MyStyle.css 中的常量,即:

    .myClass {background-color: BACKGROUND;}
    

    我不完全确定为什么会这样,可能是因为两个 CSS 文件都以正确的顺序注入。否则,我尝试在MyStyle.css 的顶部添加以下内容,它也可以:

    @import url("ConstantStyle.css");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-20
      • 2010-09-16
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多