【问题标题】:How to override default styles in GWT 2.3?如何覆盖 GWT 2.3 中的默认样式?
【发布时间】:2023-03-04 22:56:02
【问题描述】:

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

【问题讨论】:

    标签: java css gwt


    【解决方案1】:

    来自您所指的同一页面:

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

    但我所做的是为“旧”样式创建一个特定的 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】:

    Google 似乎希望我们从现在开始使用 ClientBundleCssResource

    【讨论】:

      【解决方案3】:

      我认为最好的方法是从 GWT jar 文件中复制“干净”主题的 CSS 文件。在您的应用程序中禁用主题,然后自定义您自己的 CSS 文件版本。

      【讨论】:

      • 我不喜欢这个主意,因为如果他们在版本之间更改主题,那么我需要重新复制一个 css 文件。不是很优雅。
      猜你喜欢
      • 2014-02-09
      • 1970-01-01
      • 2020-03-31
      • 2013-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-06
      相关资源
      最近更新 更多