gwtbootstrap始终适用于所有元素

时间:2013-06-26 06:41:31

标签: gwt twitter-bootstrap uibinder gwt-bootstrap

我想在我的应用程序中使用GWT bootstrap,所以我将jar添加到类路径并在app.gwt.xml中继承它并且它到目前为止(我是Bootstrap的新手)。

到目前为止,我还没有使用UIBinders作为布局,如果以任何可能的方式可以保留它,因为我有一个非常动态的UI,这是以编程方式生成的,我对UIBinders几乎没有经验。但是对于我想从gwtbootstrap中使用的元素,我创建了UIBinders(例如标题和按钮)。

问题在于,不仅我使用gwtbootstrap元素创建的UIBinder元素看起来像gwtbootstrap元素,而且页面上的所有元素。

一个简单的例子:如果我使用bootstrap元素创建一个这样的标题,它就没有任何区别

<b:Heading size="2">Hello GWT Bootstrap</b:Heading>

或使用标准HTML

这样
<h1>Hello GWT Bootstrap</h1>

看起来都像GWT Bootstrap标题。这同样适用于所有其他元素,因此页面上的任何元素都由gwtbootstrap设置样式,即使我不想要它,也无法找到控制它的方法。

1 个答案:

答案 0 :(得分:2)

这是因为gwt-bootstrap将bootstrap.css注入到您的GWT应用程序中,bootstrap.css定义了标准HTML元素的默认样式,如<h1>等。

如果您不希望bootstrap覆盖默认样式,则有几种解决方案:

  1. 修改gwt-bootstrap库文件中的bootstrap.css并删除不需要的样式
  2. 创建一个单独的css文件,用于设置特定HTML元素的样式(使用!important)
  3. 扩展gwt-bootstraps CssResources并传递自定义css文件。
  4. 解决方案3可能是最干净的。