0

我已经用 GWT 修补了一个强调活动的菜单,因此悬停该项目。

只要我为 CSS 定义任何类,这就会很好地工作。因为我这里有两个菜单,所以我想使用 CSS 类。

不管我现在怎么转转和使用的类,它都不起作用。

在这里,功能实现和可能有人可以告诉我现在如何添加类 "Item" 。即这些样式仅适用于具有“Item”类的元素,“active”类继承该项目的属性。:)

我用活动项目做到了:尝试访问,但这里似乎没有向元素添加样式......

菜单项.ui.xml

<ui:style  type='de.hfu.wolke.client.MenuItem.MyStyle'>
.item:link,  .item:visited
{
padding: 0 20px;
background-color: #83B81A;
border-left:1px solid #83B81A;
border-bottom:1px solid #83B81A;
border-top:1px solid #83B81A;
border-right:1px solid white;
text-align: left;
text-decoration:none;
display: block;
float: left;
font: bold 12px Arial;
line-height: 26px;
color:white;
}
.item:hover, .item.active:visited, .item.acitve:link
{
background-color: white;
color: #83B81A;
border-left-color:white;
border-right-color:white;
}
</ui:style>
<g:HTMLPanel>
    <g:InlineHyperlink styleName="{style.item}" ui:field="itemLink"></g:InlineHyperlink> 
</g:HTMLPanel>

附加样式“活动”

  interface MyStyle extends CssResource {
        String active();
//      String item();
      }

public void activate(){
    itemLink.addStyleName(style.active());
}

public void deactivate(){
    itemLink.removeStyleName(style.active());

}

提前致谢。:)

编辑:我不确定哪些步骤解决了问题。首先,我通过删除“a”标签简化了样式。我认为伪类只使用它。;-) 此外,我直接在 UIBinder 中添加了“项目”的样式,而不是在构造函数中。最后但同样重要的是,我使用了“addStyleName”和“removeStyleName”而不是“setStyleName”。我想“setStyleName”。我想这是关键的解决方案。

4

1 回答 1

0

试试 CssResource.ensureInjected()。

于 2013-07-30T10:42:00.353 回答