我想更改我的 selectOneMenu 的背景颜色。当我尝试将样式设置为时,style="background-color:#f6f6f6"
根本没有任何变化。
我试图用 a 包装它并将它div
的定义添加到 style.css 但到目前为止没有任何变化。
我想更改我的 selectOneMenu 的背景颜色。当我尝试将样式设置为时,style="background-color:#f6f6f6"
根本没有任何变化。
我试图用 a 包装它并将它div
的定义添加到 style.css 但到目前为止没有任何变化。
该style
属性是相当无用的<p:selectOneMenu>
。通过右键单击View Source或Inspect Element查看生成的 HTML 输出。它将应用于包装 div,而不是具体项目,更不用说列表了。要设置所选项目的样式,您需要通过属性选择.ui-selectonemenu-label
菜单的子项。styleClass
要设置列表样式,您需要通过属性选择.ui-selectonemenu-list
面板的子项(下拉菜单) 。panelStyleClass
所以,总而言之,这应该做:
<p:selectOneMenu styleClass="menu" panelStyleClass="panel">
和
.menu .ui-selectonemenu-label {
background: pink;
}
.panel .ui-selectonemenu-list {
background: pink;
}
确保在PrimeFaces 自己的样式之后初始化/加载 CSS。最好是在一个.css
文件中声明它,该文件<h:outputStylesheet>
由<h:body>
.
如果您使用 p:selectOneMenu,您可以轻松地为项目设置样式。有关样式类名称,请参阅指南。
也许您可以使用 jquery 添加一些样式。
menuWidget.items.eq(1).addClass('customclass')
您想要的是覆盖. 为此,您必须查找特定元素的样式定义 - 在文件中或使用 firebug。primefaces.css
selectOneMenu
因为selectOneMenu
它会是 ie ui-selectonemenu-items ui-selectonemenu-list
(取决于你想要什么风格)。
这是一篇关于覆盖默认 Primefaces 样式的好文章。
注意:我不会!important
像描述的那样亲自使用,因为它以后可能比有用的更有害。