在GWT中使用css和自己的类

时间:2013-07-30 09:26:43

标签: css gwt

我在GWT上修改了一个强调活动的菜单,以此来悬停物品。

只要我为CSS定义任何类,这都很有效。由于我这里有两个菜单,我想使用CSS类。

无论我现在如何转弯和使用所使用的类,它都不起作用。

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

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

menuItem.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中添加了“item”的样式,而不是在构造函数中。最后但并非最不重要的是,我使用“addStyleName”和“removeStyleName”而不是“setStyleName”。我想“setStyleName”。我想这是至关重要的解决方案。

1 个答案:

答案 0 :(得分:0)

尝试CssResource.ensureInjected()。