我正在尝试使用 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 可以正常工作。基类设置为GOGXR1SCFI而不是gwt-PushButton
为什么其他规则不起作用?当我悬停小部件时,确实将GOGXR1SCFI-up-hovering类设置为小部件,但没有随附的 CSS。
谢谢你的帮助。
更新
我遇到了一段时间让我很难受的事情:当您使用 @external 关键字时,您必须在 @external 语句的末尾放置一个半列,如:
<ui:style>
@external .btnVote;
.btnVote {
...
}
</ui:style>
<g:FlowPanel styleName="{style.btnVote}"/>