我一直在尝试将一些自定义样式应用到我的ListBoxes,但样式不适用以下是CSS
.gwt-ListBox{
background: #fff;
border: 1px solid #96CAEA;
}
我已经在IE中检查了我的代码,而我所说的不是实体,而是从Standard.css中选择插入,我也尝试使用新的css类,如
.listBox{
background: #fff;
border: 1px solid #96CAEA;
}
这也给出了同样的结果我的方法有什么不对, 谢谢,
答案 0 :(得分:1)
GWT的概念为themes。
如果您继承了一个主题,它将覆盖您的样式。使用firebug查找计算的样式,下载的样式表和应用的样式。一旦你看到firebugs信息就很容易解决它。
如果您需要进行大量自定义,如果在GWT中使用 clean 主题会更容易。
如果您使用标准主题并且坚持使用它。您需要在.listbox stylename
中使用!important标记.listBox{
background: #fff;
border: 1px solid #96CAEA !important;
}
使用!important被认为有点不整洁或hackey方法:)
答案 1 :(得分:0)
尝试使用以下方法解决边框问题
border: 1px solid #96CAEA !important;
答案 2 :(得分:0)
您可以设置UIOBject的清晰度以清除ListBox 主要CSS主题并添加您想要的主题。
E.g
ListBox list = new ListBox();
list.setStylePrimaryName("listBox");
属性JavaDOC
"Sets the element's primary style name and updates all dependent style names."
注意:你需要在你的ui文件中添加这个css,或者你可以创建一个CSSResource来重新引用你的CSS文件
interface ListBoundle extends ClientBundle{
ListBundle INSTANCE = GWT.create(ListBundle.class);
interface ListBoxCssResource extends CssResource {
String listBox();
}
@Source("package.listBox")
@CssResource.NotStrict
ListBoxCssResource css();
}
然后设置指向
的属性String listBox();
像
ListBox list = new ListBox();
list.setStylePrimaryName(ListBoundle.ListBoxCssResource.listBox());
要在UiBinder中使用,您必须使用标记。
E.g
<ui:style>
.gwt-ListBox{
background: #fff;
border: 1px solid #96CAEA;
}
</ui:style>
<g:ListBox styleName="{style.gwt-ListBox}"/>
但是使用外部资源工作更好。
有关详细信息,请参阅this