如何覆盖GWT 2.3中的默认样式?

时间:2011-10-03 00:04:52

标签: java css gwt

以前曾问过这个问题,但是对于旧版本的GWT。我正在使用提供的“干净”主题,但我想覆盖一些样式(字体等)。不推荐使用链接标记链接HTML文件中的样式表,就像使用gwt xml文件(http://code.google.com/webtoolkit/doc/latest/DevGuideUiCss.html#cssfiles)中的样式表标记一样。那么如何将css文件与项目相关联呢?我没有使用UIBinder。

3 个答案:

答案 0 :(得分:1)

谷歌似乎希望我们使用ClientBundle& CssResource从现在开始。

答案 1 :(得分:1)

在您引用的同一页面上:

  

如果您不关心共享或重新使用模块,那么您可以   只需在主页中使用标准的HTML链接相关内容即可。

但我所做的是为'旧'样式创建一个特定的CSSResource。此资源不在代码中使用,但特定于将所有“旧”样式放入并在开发期间将它们放在一个css文件中。通常,这应该只包含“旧的”GWT样式,而不是通过字符串作为类名自己设置。那些最好通过CssResource技术。通过链接rel与普通样式包含的区别在于资源中的样式是注入的,而不是通过单独的样式表包含在内。代码示例:

interface Resources {
  @Source("notstrict.css")
  @CssResource.NotStrict
  CssResource notStrictCss();
}

(也不要忘记注入这个css资源)。

在此处详细了解严格范围:http://code.google.com/webtoolkit/doc/latest/DevGuideClientBundle.html#Strict_scoping

答案 2 :(得分:0)

我认为最好的解决方法是从GWT jar文件中复制“clean”主题的CSS文件。禁用应用程序中的主题,只需自定义您自己的CSS文件版本。