css - 如何覆盖现代 GWT 应用程序中的默认 CSS?

标签 css gwt cssresource clientbundle

来自以下页面:Developer's Guide - CSS Style

很明显,在现代 GWT 应用程序中,有两种方法可以声明 css 样式:

使用 ClientBundle 中包含的 CssResource。 在 UiBinder 模板中使用内联元素。

如何使用这两种方法中的任何一种来覆盖 GWT 默认样式,例如 gwt-Buttongwt-TextBox 等?

我知道仍然可以使用您从 html 页面或 .gwt.xml 文件中引用的 css 样式表。但是,我想避免这种情况,因为这些方法现在已被弃用。

最佳答案

使用@external @-rule 禁用给定 CSS 类名的混淆:http://code.google.com/webtoolkit/doc/latest/DevGuideClientBundle.html#External_and_legacy_scopes 例如,您可以将以下内容放入任何 CssResource样式表:

@external .gwt-*;

但是 IMO,最佳实践是改为 addStyleNamesetStyleName (或在 UiBinder 中分别为 addStyleNames="…"styleName="…")在小部件上。如果您想自定义主题,请先将其复制为您自己的主题并调整您自己的副本(而不是使用 CSS 级联 覆盖样式)。作为一个额外的好处,您将拥有更轻便的样式表,因此您的用户可以更快地下载它们,“越快越好”

作为旁注,UiBinder 生成隐式 ClientBundle ,其中每个 <ui:style>元素生成隐式 CssResource (并自动调用 ensureInjected() );所以 <ui:style> 之间没有太大区别和一个 CssResource .

关于css - 如何覆盖现代 GWT 应用程序中的默认 CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8182917/

相关文章:

css - 无法使元素的位置粘在垫子抽屉容器中

java - 打开使用 Apache POI 创建的邮件附件 Excel 文件时出错

css - mgwt IconHandler 和颜色 3 位十六进制错误

gwt - CSS 资源 - 结合文字和运行时替换

css - 如何设置响应图像最大宽度(Bootstrap 4)?

html - Webkit,Css Clip 强制滚动条

java - gwt Cookie 未设置或获取

css - GWT - CSS 文件的 ClientBundle 不适用于类名

javascript - 如何检查父元素的 css 样式?

swift - 一个 Swift 程序真的是这样部署的吗?