在GWT页面(http://code.google.com/webtoolkit/doc/latest/DevGuideUiCss.html#cssfiles)中,它提到了两种方式(对于现代应用程序):
- 使用ClientBundle中包含的CssResource.
- 在UiBinder模板中使用内联元素.
现代GWT应用程序通常使用CssResource和UiBinder的组合.
所以我的问题是,我应该何时使用css文件并为其创建CssResource,何时应该使用<ui:style>直接在ui.xml文件中定义样式?使用这些方法之一是否存在任何性能影响(即在客户端上下载的资源大小)?
没有性能影响 - 如果在UiBinder文件中指定CSS,GWT编译器将根据.ui.xml文件中内联的规则动态创建CssResource并使用它.
所以它实际上只取决于您是否想要在应用程序的其他位置共享该样式.如果您希望Something.ui.xml中的按钮与SomethingElse.ui.xml中的另一个按钮具有相同的样式,那么您应该在CssResource中指定该样式.否则,请在UiBinder文件中指定样式,其他类不会有权访问它.