UiBinderを使用して特定のウィジェットのスタイルをオーバーライドしようとしています。私は何を見落としていますか?
<ui:style>
/*************
* Note #1
*************/
.btnVote {
display: inline-block;
width: 50px;
height: 50px;
background: #fff;
margin: 5px;
text-align: center;
outline: none;
cursor: pointer;
}
/*************
* Note #2
*************/
.btnVote-up-hovering, .btnVote-down-hovering {
background: #ddd;
}
.btnVote-up-disabled, .btnVote-down-disabled {
border-shadow: inset 0 1px 3px #aaa;
}
.lblName {
line-height: 50px;
font-size: 40px;
padding: 5px 10px;
}
.clear {
clear: both;
overflow: auto;
}
.floatLeft {
float: left;
}
</ui:style>
<g:HTMLPanel styleName="{style.clear}">
<g:FlowPanel styleName="{style.floatLeft}">
/*************
* Note #3
*************/
<g:PushButton ui:field="btnVoteUp" stylePrimaryName="{style.btnVote}">
(+)
</g:PushButton>
<g:PushButton ui:field="btnVoteDown" stylePrimaryName="{style.btnVote}">
(-)
</g:PushButton>
</g:FlowPanel>
<g:FlowPanel styleName="{style.floatLeft}">
<g:Label ui:field="lblName" stylePrimaryName="{style.lblName}"/>
</g:FlowPanel>
</g:HTMLPanel>
注1:このルールは適用されており、正常に機能します
注2:この他のルールは無視されているようです(有効になりません)
注3:ウィジェットのデフォルトの名前がリセットされているため、注1は正常に機能します。基本クラスは、 gwt - PushButtonではなくGOGXR1SCFIに設定されています
他のルールが機能しないのはなぜですか?ウィジェットにカーソルを合わせると、クラスGOGXR1SCFI-up-hoveringが実際にウィジェットに設定されますが、付随するCSSはありません。
ご協力いただきありがとうございます。
アップデート
私が遭遇した何かが私にしばらく苦労しました:@externalキーワードを使用するときは、次のように、@externalステートメントの最後に半列を配置する必要があります。
<ui:style>
@external .btnVote;
.btnVote {
...
}
</ui:style>
<g:FlowPanel styleName="{style.btnVote}"/>