我试图让 HorizontalPanel 中的两个按钮显示在图像顶部。不是在上面,因为您看到按钮,然后进一步向下看页面并看到图像,但是您查看图像并且它上面有按钮。
这是我的 Page.ui.xml 文件中的代码:
<g:FocusPanel ui:field="profileImagePanel" addStyleNames="{style.headerImage}">
<g:AbsolutePanel addStyleNames="{style.innerImagePanel}">
<g:Image ui:field="profileImage" addStyleNames="{style.profileImage}"/>
<g:HorizontalPanel ui:field="imageEditButtons" addStyleNames="{style.imageEditButtons}">
<w:MultiUseButton ui:field="clearImage" addStyleNames="{style.change}" type="secondary" text="{i18n.clearImage}" visible="false"/>
<w:MultiUseButton ui:field="changeImage" type="secondary" text="{i18n.changeImage}" visible="false"/>
</g:HorizontalPanel>
</g:AbsolutePanel>
</g:FocusPanel>
样式是:
.headerImage {
position: absolute;
top: 0;
left: 0;
width: 150px;
}
.profileImage {
width: 150px;
position: relative;
}
.change {
float: right;
}
.headerImage a {
display: block;
}
.imageEditButtons {
width:100%;
}
.innerImagePanel {
width:150px;
}
我尝试使用 FlowPanel 而不是 AbsolutePanel,但这不起作用。我试过制作 profileImageposition:relative
和 imageEditButtons position:absolute
,但这会破坏页面其余部分的整个显示。我也尝试设置 imageEditButtonsmargin-top:-20px
但它位于图像下方而不是顶部。如果我将 HorizontalPanel 放在 Image 之前的 AbsolutePanel 中,则按钮位于图像上方,如果我尝试更改上边距,它会将按钮和 Image 向下移动。
我的想法不多了。任何有关如何使这项工作的建议将不胜感激。