覆蓋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