0

我正在尝试向 GWT g:label 添加第二种样式。我将 CSS 样式定义为 CssResource。标签可以很好地拾取 .gwt-Label 样式,但它没有拾取添加样式中定义的字体颜色的变化。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
 xmlns:g='urn:import:com.google.gwt.user.client.ui'>

 <ui:with field='res' type='com.me.area.workflow.portal.flip.client.ui.Resources' />

    <g:DockLayoutPanel unit='PCT'>
        <g:west size="50">
          <g:Label addStyleNames="{.navPanelText}">Flip Workflows</g:Label>
        </g:west>
    </g:DockLayoutPanel>
</ui:UiBinder>

和 CSS

.gwt-Label {
   font: bold 16px "Lucida Grande", Geneva, Verdana, sans-serif;
   vertical-align: middle;
   margin-left: 10px;
   margin-right: 10px;
   margin-top: 10px;
   text-decoration: none;
   padding: 3px 5px 3px 5px;
 }

 .navPanelText {
   color: white;
 }
4

1 回答 1

3

你需要改变:

<g:Label addStyleNames="{.navPanelText}">Flip Workflows</g:Label>

至:

<g:Label addStyleNames="{res.style.navPanelText}">Flip Workflows</g:Label>

这是假设你做了所有其他你需要做的事情。比如'Resources''ClientBundle'有一个名为'style()'的'CssResource'。正确链接到正确的 CSS 样式表。

如果没有res.style你没有引用你的样式表,你只是{.navPanelText}作为一种样式插入。

即使您的类的名称.navPanelText在您的 CSS GWT 中也会更改类的名称。为了保持对该类名的引用,您需要通过调用与类名相同的方法来引用样式表对应的 Java 文件和样式名。

欲了解更多信息,请访问此处

您也可以简单地将 CSS 直接放在 UiBinder 中。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
 xmlns:g='urn:import:com.google.gwt.user.client.ui'>

    <ui:style>
        .navPanelText {
            color: white;
        }
    </ui:style>

    <g:DockLayoutPanel unit='PCT'>
        <g:west size="50">
          <g:Label addStyleNames="{style.navPanelText}">Flip Workflows</g:Label>
        </g:west>
    </g:DockLayoutPanel>
 </ui:UiBinder>
于 2013-09-26T19:38:18.077 回答