我有绘制按钮的 CSS 样式。我需要重用这种样式来绘制不同颜色的按钮。
.button {
color: white;
background-color: black;
border: 1px solid orange;
(...)
}
我知道我可以覆盖 CSS 属性。但这里的问题是我必须重写按钮的几乎所有代码,这没有意义。创建另一个仅通过颜色值与此不同的 CSS 类更容易。是否可以创建一些可以将颜色作为参数的样式,保留所有其他 css 属性?
您可以使用带有注释 @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";
}
}
GWT 在编译时支持参数化 CSS。这使您可以在 CSS 文件中嵌入编译时指令,例如
@def TEXT_COLOR #A0A0A0
然后您可以使用 CSS 规则中的值:
.some-class {
color: TEXT_COLOR;
}
您还可以访问 Java 中的值(在编译时)。您可以在此处阅读有关该功能的信息:http ://code.google.com/p/google-web-toolkit/wiki/CssResource
您可以使用按钮类添加新类。
.newclass{
color:#ffffff !important;
}
只需确保您已!important
添加到新的类颜色属性。