gpt4 book ai didi

css - 我可以将作用域应用于 GWT CSS 混淆类名吗

转载 作者:太空宇宙 更新时间:2023-11-04 15:23:20 25 4
gpt4 key购买 nike

我有 2 个 CSS 文件,为同一个 CSSResource 定义了 2 组 CSS 规则。我能否以某种方式应用某种范围,以便一个 css 文件中的样式不会覆盖另一个 css 文件中的样式?

一个简化的例子:

CSS资源

public interface Style extends CssResource {
String box_bkg();
}

Style1.CSS

.box_bkg {
background-color: red;
}

Style2.CSS

.box_bkg {
background-color: yellow;
}

客户端包

public interface BoxBundle extends ClientBundle {
@Source("css/Style1.css")
MyClass.Style redBoxStyle();

@Source("css/Style2.css")
MyClass.Style yellowBoxStyle();
}

当我查看生成的 HTML 时,我发现混淆后的类名是相同的,无论它来自哪个 BoxBundle 方法。所以盒子要么全是黄色要么全是红色。如果混淆后的名称相同,我该如何设置不同的框样式?

谢谢

最佳答案

混淆后的类名是根据 CssResource 子接口(interface)和方法名计算得出的。如果你想要不同的类名,你必须至少创建一个 MyClass.Style 的子接口(interface),并将其用作 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

关于css - 我可以将作用域应用于 GWT CSS 混淆类名吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14328725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com