<p:panel style="height:500px;position:relative;"/>
<p:panelGrid columns="1" styleClass="centered">
<div class="component-spacing-top"/>
<h:graphicImage alt="#{business.businessName}" value="#{business.logoFullPath}" class="small-panel-image" />
<div class="component-spacing-top"/>
</p:panelGrid>
</p:panel>
height
值是随机给出的没关系,但不要擦除position:relative
。
.centered {
position: absolute;
height: 100px;
top: 0;
bottom: 0;
margin:auto;
}
对于水平,您应该添加以下规则:
left:50%;margin-left:-100px;width:200px;
注意,margin-left
value 是 value 的 -1/2 倍width
。
结果:
如果width
未修复,您可以尝试这种方式,它适用于我并同时水平和垂直对齐它:
<p:panel style="line-height:200px;padding: 5% 0;position: relative;"/>
<p:panelGrid columns="1" styleClass="centered">
<div class="component-spacing-top"/>
<h:graphicImage style="vertical-align:middle;" alt="#{business.businessName}" value="#{business.logoFullPath}" class="small-panel-image" />
<div class="component-spacing-top"/>
</p:panelGrid>
</p:panel>
请注意,graphicImage 也具有style
属性。
.centered {
position:relative;
height: 100px;
margin:0 auto;
padding: 10% 0;
}
结果:
即使不起作用,您也应该检查我在里面提供的链接about
。这就是我正在做的,有 6 种方法,你应该混合它们。