我有一个<h:outputText value="#{xx.nameame}" />
,如下所示
<p:dataTable>
<p:column width="200" >
<f:facet name="header" >
<h:outputText value="Header1" />
</f:facet>
<h:panelGroup rendered="#{xx.addFlag == false}">
<h:outputText value="#{xx.nameame}" />
</h:panelGroup>
</p:column>
</p:dataTable>
我想在单元格示例的左侧对齐此字段<h:outputText value="#{xx.nameame}" />
的值:text-align:left
但问题是JSF本身,将列视为div标签,默认情况下分配css,即:
.ui-dt-c {
white-space: normal;
text-align: center;
}
由于上述原因,文本对齐中心。如果我将上面的内容更改为text-align: to left
,所有数据表也将在其他屏幕中更改。
因此,我想将更改仅应用于上述数据表而不是其他数据表。
我怎样才能实现它?
对于较旧的PrimeFaces版本(5.2之前的版本),请使用此代码使其保持对齐状态。
<div align="left"><h:outputText value="#{xx.nameame}" /></div>
对于较新的PrimeFaces版本,请参阅the answer below,您可以将样式放在列上
你也可以使用style
属性和float
选项一样;
<h:outputLabel value="Max" style="float:left" />
在现代PrimeFaces版本(> 5.1)中,内容周围的div不再呈现,因此问题以不同的方式解决(因为当您使用Qadir Hussain回答时,如果网页在移动视图中,列值显示在下面列名(预期与列名相反))。
在最近的PrimeFaces版本中,“内容”栏目内容的div不再存在,因此以下“正常工作”
<p:column style="text-align: left" class="TexLeft">
......
....
</p:column>
因此,您可以为元素提供样式或类或两者,这将解决您的响应或更复杂的问题。