我有2个CSS文件,为同一个CSSResource定义了2套CSS规则。我可以以某种方式应用某种范围,以便一个css文件中的样式不会覆盖其他css文件中的样式吗?
简化示例:
CSSResource
public interface Style extends CssResource {
String box_bkg();
}
Style1.CSS
.box_bkg {
background-color: red;
}
Style2.CSS
.box_bkg {
background-color: yellow;
}
ClientBundle
public interface BoxBundle extends ClientBundle {
@Source("css/Style1.css")
MyClass.Style redBoxStyle();
@Source("css/Style2.css")
MyClass.Style yellowBoxStyle();
}
当我查看生成的HTML时,我发现无论它来自哪个BoxBundle方法,混淆的类名都是相同的。所以盒子都是黄色或红色。如果混淆的名称相同,我如何以不同方式设置方框?
由于
答案 0 :(得分:1)
模糊的类名是根据CssResource
子接口和方法名称计算的。如果您需要不同的类名,则必须至少创建一个MyClass.Style
的子接口,并将其用作BoxBundle
中方法的返回类型;目标是这两种方法有不同的返回类型:
public interface BoxBundle extends ClientBundle {
@Source("css/Style1.css")
Style1 redBoxStyle();
@Source("css/Style2.css")
Style2 yellowBoxStyle();
interface Style1 extends MyClass.Style { }
interface Style2 extends MyClass.Style { }
}
另见https://code.google.com/p/google-web-toolkit/issues/detail?id=6144