我有一个包含一个包含panelGrid的表单的ui-composition。 panelGrid有7行,每行4列。最后一行在第二列中包含selectOneMenu 要求将行高调整为22px。单元格中的每个元素都是21px或更少。 Firebug告诉我,selectOneMenu的高度是21px。但不知何故,这行将是25px高。我发现的唯一的css更改,将改变这一点,将selectOneMenu的内部标签的高度设置为15px到12px。但这不是解决方案,因为每个输入的内部高度都是15px。
<p:row>
<p:column styleClass="columnLabel">
<p:outputLabel value="#{msgs.inv_sum_assignment}" />
</p:column>
<p:column>
<p:selectOneMenu styleClass="assign" disabled="#{summaryBean.noInvoiceSelected}" value="#{summaryBean.assignedUser}" converter="vertreterConverter" immediate="true">
<f:selectItem itemValue="#{null}" />
<f:selectItems value="#{summaryBean.possibleAssignments}" var="vertreter" itemLabel="#{vertreter.lastname}, #{vertreter.firstname}" itemValue="#{vetreter}" />
<p:ajax event="change" />
</p:selectOneMenu>
</p:column>
...
带有selectOneMenu的单元格的屏幕截图
Tr风格
selectOneMenu布局
Tr布局
你能帮助我,把行高调到22px还是不可能?
我正在使用: primefaces版本6.1 com.sun.faces jsf 2.2.8版
答案 0 :(得分:1)
<p:panelGrid columnClasses="rowHeight">
最后在你的CSS中:
.rowHeight {
height: 22px;
max-height: 22px;
}
强迫它:
.rowHeight {
height: 22px !important;
max-height: 22px !important;
}
如果这仍然不起作用,则需要转到panelGrid中的每个元素并删除边距和填充。
如果这仍然不起作用,则意味着您在panelGrid中使用特定高度自定义了一个元素,并且需要找到一个;)
一旦它工作,你可以尝试删除max-height和!important。然后你会找到罪魁祸首
答案 1 :(得分:0)
嗯,我不完全确定,为什么,但现在线高度有效。也许是因为我改变了触发器的大小。不过不确定。谢谢你的帮助。