GWT - 为什么CSS不适用于子类?

时间:2016-03-01 03:27:52

标签: css gwt

我有GWT Anchor类的本地化版本,我打算在其上应用我的自定义css但它不会工作。如果我使用常规的Anchor类就行了。

CSS

.anchorStyle:link {
    color: #2B80A9;
    text-decoration: underline;
    cursor: auto;
    margin-right: 1%;
}

My LocalizedAnchor

public class LocalizedAnchor extends Anchor implements IsLocalizedWidget {
  public LocalizedAnchor() {}

  public LocalizedAnchor(String localizedText) {
    setLocalizedText(localizedText);
  }

  @Override
  public void setLocalizedText(String text) {
    LocalizationUtil.setLocalizedText(text, this);
  }
}

我如何创建锚点并应用css

 LocalizedAnchor choiceAnchor = new LocalizedAnchor(choiceLabel.getText());
 choiceAnchor.setStyleName(style.anchorStyle());

......而css不会工作。

但如果我改变

LocalizedAnchor choiceAnchor = new LocalizedAnchor(choiceLabel.getText()); 

LocalizedAnchor choiceAnchor = new Anchor(choiceLabel.getText());

CSS有效。

任何想法,我在这里缺少什么?

感谢。

1 个答案:

答案 0 :(得分:0)

这不是可接受的答案,但是,如果有人有兴趣了解如何使其发挥作用。

我看到有些人(在线论坛帖子)在设置GWT Anchor时遇到了麻烦,所以,这可能会对他们有所帮助。

我更感兴趣的是找出原始CSS无法正常工作的原因。

  

解决方法

更新 CSS

a, a:visited, a:hover {
    color: #2B80A9;
    text-decoration: underline;
    cursor: auto;
    margin-right: 1%;
}

通知

  

a,a:访问过,a:悬停

而不是

  

.anchorStyle:链路

删除:choiceAnchor.setStyleName(style.anchorStyle());,因为您已将CSS定义为直接应用于锚点(a, a:visited, a:hover),因此无需专门调用setStyleName()