2

我有绘制按钮的 CSS 样式。我需要重用这种样式来绘制不同颜色的按钮。

.button {
   color: white;
   background-color: black;
   border: 1px solid orange;
   (...)
}

我知道我可以覆盖 CSS 属性。但这里的问题是我必须重写按钮的几乎所有代码,这没有意义。创建另一个仅通过颜色值与此不同的 CSS 类更容易。是否可以创建一些可以将颜色作为参数的样式,保留所有其他 css 属性?

4

3 回答 3

1

您可以使用带有注释 @eval的 GWT ( Here ) 的运行时替换

运行时替换:

在注入样式表时为评估静态方法提供运行时支持。如果我们允许对样式元素进行编程操作,将来可以添加触发/动态更新。(参见文档)

例如:

@eval buttonColor com.myApp.MyTheme.getButtonColor();

.button {
   color: buttonColor ;
   background-color: black;
   border: 1px solid orange;
   (...)
}

评估期间使用的方法必须是静态的

 public class MyTheme {

...

    public static String getButtonColor(){
       return "white";
    }
}
于 2013-09-06T13:53:11.593 回答
1

GWT 在编译时支持参数化 CSS。这使您可以在 CSS 文件中嵌入编译时指令,例如

@def TEXT_COLOR   #A0A0A0

然后您可以使用 CSS 规则中的值:

.some-class {
   color: TEXT_COLOR;

}

您还可以访问 Java 中的值(在编译时)。您可以在此处阅读有关该功能的信息:http ://code.google.com/p/google-web-toolkit/wiki/CssResource

于 2013-09-06T14:00:29.220 回答
-1

您可以使用按钮类添加新类。

.newclass{
color:#ffffff !important;
}

只需确保您已!important添加到新的类颜色属性。

于 2013-09-06T09:12:37.103 回答