覆盖DisclosurePanel的CSS我有一个扩展了Composite的类,并在关联的UiBinder文件的顶层包含一个DisclosurePanel。在GWT中,我如何使用<ui:style>或ClientBundle
在DisclosurePanel的HTML看起来像这样:
<table class="gwt-DisclosurePanel gwt-DisclosurePanel-closed>
<tr>
<td>
<a href="javascript:void(0);" style="display: block;" class="header">
<div class=""> <!-- an HTMLPanel I've shoved in to a <gwt:customHeader> block -->
...
</div>
</a>
...
在我UiBinder的文件,我可以使用addStyleNames =“{风格???}”和风格的一些东西,比如我可以风格的DisclosurePanel本身我可以我的样式里面的HTMLPanel,但我不能样式的
<a>
除非这样做:
disclosurePanel.getHeader().getParent().getElement().getStyle().setTextDecoration(TextDecoration.NONE);
disclosurePanel.getHeader().getParent().getElement().getStyle().setColor("black");
代码中的
,但这很难看,现在风格在两个地方,即代码和UiBinder文件。
我这样做的原因是为了摆脱默认情况下的下划线和蓝色。另一种方法是做这样的事情:
.gwt-DisclosurePanel a {
text-decoration: none;
text: black;
}
但我需要从我的主页(Client.html)或引用从gwt.xml文件引用CSS文件,但两者的那些方法做事不推荐。
如何以更好的方式做到这一点,还是不可能?
所以,你想要的是应用CSS而不使用CSS,是不是?这非常不寻常的要求是什么原因? – 2010-07-30 23:21:18
我所有的小部件都使用UiBinder文件,并在块中定义了一些css。我希望能够用这个小部件做同样的事情来设计锚元素,但它似乎不可能。 你是什么意思我想不使用CSS应用CSS?我不认为我说过,所以我们必须误解对方。 –
dgrant
2010-07-30 23:34:20
嗯...将ensureInjected()做我想要的?我可以定义一个引用该CssResource的CssResource和ClientBundle,然后在CssResource上调用ensureInjected并且它将注入所有的CSS,即使我没有引用CssResource子接口上的所有方法? – dgrant 2010-07-31 00:18:37