这是一个简单的问题,是否可以为组件p:fragment
提供样式?
文档(5.0)中指定的style
没有styleClass
/ class
/ p:fragment
属性(尽管我的IDE建议我使用{{1}基于库但它不起作用)。
基本上我想要做的是将显示更改为:
class
因为默认情况下,组件会呈现为display: inline;
div
我知道我可以使用display: block;
属性并给它一些风格,但我不想要这个解决方案因为我有多个片段而且会非常难看。
答案 0 :(得分:1)
您可以像我的示例
那样具体说明您的CSS <style>
div[id$="-fragment"]{
background-color: red;
}
</style>
<h:form>
<h:panelGrid columns="2" cellpadding="5">
<p:outputLabel for="ignored" value="Required" />
<p:inputText id="ignored" required="true" />
</h:panelGrid>
<p:fragment autoUpdate="true" id="first-fragment">
<h:panelGrid columns="4" cellpadding="5">
<p:outputLabel for="txt" value="Text Value:" />
<p:inputText id="txt" value="#{basicView.text}" />
<p:commandButton value="Submit"/>
<h:outputText value="#{basicView.text}" />
</h:panelGrid>
</p:fragment>
<p:fragment autoUpdate="true" id="second-fragment">
<h:panelGrid columns="4" cellpadding="5">
<p:outputLabel for="txt2" value="Text Value:" />
<p:inputText id="txt2" value="#{basicView.text}" />
<p:commandButton value="Submit"/>
<h:outputText value="#{basicView.text}" />
</h:panelGrid>
</p:fragment>
</h:form>
希望得到这个帮助。
答案 1 :(得分:0)
Primefaces的片段组件用于在子代组件触发ajax请求时定义自动部分处理和更新部分,它不是显示/样式内容的组件。
如果您不需要自动处理功能,请使用facelet的ui:fragment
组件来满足您的渲染需求,并将其内容放在div
中,您可以根据需要设置样式。
Hello
<ui:fragment>
<div style="display: inline;">Hello</div>
</ui:fragment>
Hello