java - selectOneMenu 的粗体第二项

标签 java css jsf-2 selectonemenu

我有一个 selectOneMenu,其中包含一个州的所有城市。我已经制作了一个 sql 以将资本放在首位,但我想将其加粗以使其对使用它的人更加可见。有没有办法将它加粗或做其他事情来使第二个选项更加明显?

<h:selectOneMenu value="#{someBean.cityId}">
     <f:selectItems value="#{addressBean.stateList}" />
</h:selectOneMenu>

最佳答案

HTML <option> <f:selectItems> 生成的元素允许非常少的细粒度样式,并且 CSS 支持取决于浏览器。您可以使用 CSS3 :nth-child伪选择器。例如

<h:selectOneMenu value="#{someBean.cityId}" styleClass="cities">
    <f:selectItems value="#{addressBean.stateList}" />
</h:selectOneMenu>

.cities option:nth-child(2) {
    font-weight: bold;
}

但这并不适用于所有浏览器。只有 Firefox 吃掉了它,但 MSIE 和 Chrome 没有。后两者不会这样做,因为它们不允许设置 font-weight在选项上。但它们允许您通过 color 更改(背景)颜色或 background-color :

.cities option:nth-child(2) {
    background-color: pink;
}

到目前为止,这适用于所有支持 CSS3 的浏览器(即因此不适用于 MSIE8 或更早版本)。

如果你想要最好的跨浏览器兼容性,你需要替换 <select>通过 <ul><li>以及大量的 CSS/JS 代码,使它看起来像一个真正的下拉菜单。然后您可以设置 <li> 的样式单独的元素。您可以加入一些 jQuery 插件或寻找第 3 个 JSF 组件库。 PrimeFaces 3.0 有一个 <p:selectOneMenu> component正是这样做的。

关于java - selectOneMenu 的粗体第二项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7717022/

相关文章:

java - 将复杂的 while 循环重构为 Java 8 流

html - 如何使标题适合整个页面

java - 返回 JSF 页面上的图像列表

css - R Shiny : color fileInput button and progress bar

javascript - 另一个表单中的表单 - 在另一个表单中使用 Blueimp 文件 uploader

java - JSF2 和 RichFaces 错误

jsf-2 - 打开 Facelets 页面时删除 session 属性

java - GREP 如何只检索包含指定字母的单词?

java - 在 Spark Dataset<Row> 中使用自定义 UDF withColumn; java.lang.String 无法转换为 org.apache.spark.sql.Row

java - 在 Mac OS 中的 Eclipse 4.3 中添加新的执行环境