GWT - 设置全局CSS样式的最佳方式

时间:2012-12-21 16:31:38

标签: css gwt

我们正在使用GXT和GWT,每个基本小部件都有一个CSS文件。 GWT中拥有全局css风格的最佳方式是什么。

例如

global.css

.backgroundBorder {
   border-style: solid;
   border-width: 2px;
   border-radius: 3px;
}

myWidget.css

@backgroundBorder

2 个答案:

答案 0 :(得分:4)

我同意。另外,我将在上面的AppClientBundle中包含一个接口。

public interface AppClientBundle extends ClientBundle {

  public static final AppClientBundle INSTANCE = GWT.create(AppClientBundle.class);

  @Source({ "css/template/global.css" })
  MyStyle css();
  public interface MyStyle extends CssResource {
    String backgroundBorder();
  }
}

这使您可以通过这种方式设置窗口小部件的样式:

Widget.setStylePrimaryName(AppClientBundle.INSTANCE.css().backgroundBorder());

希望有帮助...

答案 1 :(得分:3)

您可以使用ClientBundles和CssResources。

https://developers.google.com/web-toolkit/doc/latest/DevGuideClientBundle#CssResource

在入口点,您可以设置全局css。 与此类似:

YourStyle.getTheme().getAppClientBundle().getGlobalCss().ensureInjected();

你的clientbundle可能类似于:

public interface AppClientBundle extends ClientBundle {

    @Source({ "css/template/global.css" })
    CssResource getGlobalCss();

}

从我的经验来看,这是最好的方式。