这是可能的,但有些复杂的做一些与GWT的接头。高层次的想法是:
- 把你所有的GWT部件在< DIV ID =“GWT”> ... </DIV>
- 添加一个链接器将处理GWT模块文件CSS文件。
- 在链接器中,转换GWT CSS(例如standard.css)以在每个选择器规则之前插入#gwt。
第一部分很简单,只需在您的根元素中添加一个id即可。
第二部分也很容易,只需添加代码,看起来像这样你Module.gwt.xml文件:
<define-linker name="cssLinker" class="com.you.bootstrap.linker.CssRenamingLinker" />
<add-linker name="cssLinker"/>
困难的部分是实现链接。可以手动解析它,但是您可能会发现使用SAC之类的东西更容易。
使用链接器,您可以通过每个选择之前插入#gwt改变你的CSS。使用SAC,您可以通过覆盖所有DocumentHandler方法来将它们的每个参数简单地发送到OutputStream。在DocumentHandler.startSelector()中,您首先会在每个选择器之前发出“#gwt”。
[编辑] 这假定GWT的standard.css定义样式,覆盖引导样式。如果不是,你可能需要用默认值'增强'GWT CSS。有一个W3C推荐的默认设置列表here。
好处是,这是未来的 - 如果GWT风格改变或引导样式改变,这应该是健壮的。
希望帮助,
亚当
你想做到这一点无需拿出引导的列表定义? – thedjpetersen 2012-02-09 16:23:54
基本上,是的。 – caarlos0 2012-02-09 16:26:24