我正在迁移到CssResource
的使用。
但是,我不明白如何使用前缀样式:(...之类的东西:
.prefix .label {
padding: 10px;
}
.prefix .button {
padding: 20px;
}
我如何将其转换为
CssResource
类并在代码中使用它:(...我在玩
@Import
和@ImportedWithPrex
,@Share
,但是这一切都令人困惑,文档很难理解:(...请一些帮助?
埃德
最佳答案
这是一些代码,演示了ImportedWithPrefix注释的用法
interface Bundle extends ClientBundle {
@Source("CssImportScopeSample.css")
InnerStyle innerStyle();
@Source("CssImportScopeSample.css")
OuterStyle style();
}
@ImportedWithPrefix("inner")
interface InnerStyle extends Style {
}
@ImportedWithPrefix("outer")
interface OuterStyle extends Style {
}
interface Style extends CssResource {
String body();
}
还有一个小的UiBinder代码。
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder' >
<ui:with field='bundle' type='com.google.gwt.uibinder.test.client.CssImportScopeSample.Bundle' />
<ui:style import='com.google.gwt.uibinder.test.client.CssImportScopeSample.OuterStyle
com.google.gwt.uibinder.test.client.CssImportScopeSample.InnerStyle'>
.outer-body .inner-body { width: 100px; background-color: red; }
</ui:style>
<div class='{bundle.style.body}'>
<span ui:field='outer'/>
<div ui:field='inner' class='{bundle.innerStyle.body}'>Inner!</div>
</div>
</ui:UiBinder>
希望这能使您走上正确的轨道。