【发布时间】:2012-07-06 13:58:55
【问题描述】:
我需要在几个 UI Binder 模板中使用相同的样式,所以我按照以下说明进行了所有操作:https://developers.google.com/web-toolkit/doc/latest/DevGuideUiBinder#Using_an_external_resource。
所以我做了以下事情:
1。创建资源接口:
公共接口资源扩展 ClientBundle { @Source("shared.css") 风格风格(); 公共接口样式扩展 CssResource { 字符串 grayedOut(); } }2。在 Resources 类的同一目录中创建了shared.css 文件:
3。在 UI Binder 模板中添加了 with 元素:
<ui:with type="correct.package.Resources" field="res"/>
4。在 UI Binder 模板中添加了对样式的引用:addStyleNames="{res.style.grayedOut}"
但是它不起作用。视图被渲染,就像 grayedOut 样式根本没有应用一样。
但我观察到两件事:
- 在 Firebug/Chrome 开发工具中,我可以看到该元素分配了一个与我要添加的样式相对应的被滥用的样式名称:
class="GAWERH0MI gwt-TabLayoutPanelContent"(GAWERH0MI似乎对应于我的grayedOut类)但我无法在“元素样式”面板中找到它,这可能意味着这个类是空的(没有正文)。 (我做了实验并将空类分配给在该工具中具有相同效果的元素)。 - 当我在 .css 中更改样式名称时,出现运行时错误,提示样式
grayedOut找不到,这似乎意味着我的样式类通常已成功找到,但由于某种原因无法正常工作正如预期的那样。
【问题讨论】: