0

我一直在尝试对我的 ListBoxes 应用一些自定义样式,但样式未应用以下是 CSS

.gwt-ListBox{
 background: #fff;
 border: 1px solid #96CAEA;
}

我在 IE 中检查了我的代码,我所理解的不是实体,而是从 Standard.css 中挑选插图,我还尝试使用新的 css 类,例如

.listBox{
 background: #fff;
 border: 1px solid #96CAEA;
} 

这也给出了相同的结果,我的方法出了什么问题,谢谢,

4

3 回答 3

1

GWT 有主题的概念。

如果您继承了主题,它将覆盖您的样式。使用 firebug 查找计算样式、下载的样式表和应用的样式。一旦您看到萤火虫信息,就很容易修复它。

在此处输入图像描述

如果您需要进行大量自定义,那么在 GWT中使用干净的主题会更容易。

如果您使用的是标准主题并坚持使用它。您需要在 .listbox 样式名中使用 !important 标签

.listBox{
 background: #fff;
 border: 1px solid #96CAEA !important;
}

!important 的使用被认为有点不整洁或 hackey 方法:)

于 2012-12-05T10:57:21.527 回答
0

Try using the following to solve your border issue

border: 1px solid #96CAEA !important;
于 2012-12-05T13:13:00.093 回答
0

您可以设置 UIOBject 的属性来清除 ListBox Primary CSS 主题,并根据需要添加自己的主题。

例如

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 中使用,您必须使用标签。

例如

<ui:style>
    .gwt-ListBox{
          background: #fff;
          border: 1px solid #96CAEA;
    }
</ui:style>

<g:ListBox styleName="{style.gwt-ListBox}"/>

但是使用外部资源更好。

有关更多信息,请阅读

于 2012-12-06T12:11:53.220 回答