GWT,addStyleNames不从CssResource添加第二个样式

时间:2013-09-26 19:25:01

标签: css gwt

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

<?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;
 }

1 个答案:

答案 0 :(得分: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}作为样式插入。

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

有关详细信息,请转到here

您也可以直接将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>