我已经创建了自己的主题作为单独的Maven项目,并且它已正确加载.
现在我想改变组件的大小.例如,a <p:orderList>.它有一个名为的类ui-orderlist-list,它primefaces.css以固定的200x200维度定义.无论我在我身上做什么theme.css,它都会被这个属性所覆盖,我无法将内容作为<p:orderList>更广泛的内容.
对于其他组件,我可能只想覆盖组件的一个实例,而不是全部.
任何人都可以告诉我,我怎么能做到这一切?
创建按钮时,ui-corner-all始终应用该类.我尝试了以下方法:
<p:commandButton id="like" styleClass="ui-corner-right" />
Run Code Online (Sandbox Code Playgroud)
但它不起作用.在Firebug的,我看到都ui-corner-all和ui-corner-right:
<div id="form1:like" type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-left ui-corner-right">
Run Code Online (Sandbox Code Playgroud)
更新1:
继从JMelnik提示,我终于成功地改变风格ui-corner-all,以ui-corner-right加入下面的脚本:
<style type="text/css">
#myForm\:likeButton .ui-corner-all {
border-radius: 6px 0px 0px 6px !important;
}
</style>
Run Code Online (Sandbox Code Playgroud)
并将<p:commandButton>内部包装<h:panelGroup>如下:
<h:form id="myForm">
<h:panelGroup id="likeButton">
<p:commandButton />
<h:panelGroup>
</h:form>
Run Code Online (Sandbox Code Playgroud)
更新2:
感谢BalusC的建议,以下解决方案应该更好:
<style type="text/css">
.likeButton .ui-corner-all {
border-radius: 6px 0px 0px 6px !important;
}
</style>
<h:panelGroup styleClass="likeButton">
<p:commandButton />
<h:panelGroup>
Run Code Online (Sandbox Code Playgroud)
最好的祝福,
我正在尝试创建不同颜色的PrimeFaces commandButtons.在我的样式表中我有这样的东西:
.styleGreen {
background-color: #009900;
font-family: Arial,Helvetica,sans-serif;
}
Run Code Online (Sandbox Code Playgroud)
和这样的组件:
<p:commandButton value="Green Button" styleClass="styleGreen" ...
Run Code Online (Sandbox Code Playgroud)
这工作时的commandButton是不是一个PrimeFaces内部面板或其他一些容器.但是当我将它移动到我的页面主体时,所有自定义CSS规则都被覆盖.
解决这个问题的正确方法是什么?