Java 选择菜单的第二项为粗体
我有一个SelectOne菜单,上面有一个州的所有城市。我已经做了一个sql来将资本放在首位,但我想加粗以使使用它的人更容易看到它。有没有一种方法可以加粗,或者做一些其他的事情来让第二个选项更明显Java 选择菜单的第二项为粗体,java,css,jsf-2,selectonemenu,Java,Css,Jsf 2,Selectonemenu,我有一个SelectOne菜单,上面有一个州的所有城市。我已经做了一个sql来将资本放在首位,但我想加粗以使使用它的人更容易看到它。有没有一种方法可以加粗,或者做一些其他的事情来让第二个选项更明显 由生成的HTML元素只允许很少的细粒度样式,CSS支持依赖于浏览器。您可以使用CSS3:n子项伪选择器。例如 与 .cities选项:第n个子项(2){ 字体大小:粗体; } 但这并不适用于所有浏览器。只有Firefox会吃,但MSIE和Chrome不会。后两种方法不能做到这一点,因为它们不允
由
生成的HTML
元素只允许很少的细粒度样式,CSS支持依赖于浏览器。您可以使用CSS3:n子项
伪选择器。例如
与
.cities选项:第n个子项(2){
字体大小:粗体;
}
但这并不适用于所有浏览器。只有Firefox会吃,但MSIE和Chrome不会。后两种方法不能做到这一点,因为它们不允许在选项上设置font-weight
。但是它们允许您通过color
或background color
更改(背景)颜色:
.cities option:nth-child(2) {
background-color: pink;
}
到目前为止,这适用于所有支持CSS3的浏览器(即不适用于MSIE8或更早版本)
如果您想获得最佳的跨浏览器兼容性,您需要将
替换为
以及大量CSS/JS代码,使其看起来像一个真正的下拉列表。然后可以分别设置
元素的样式。您可以加入一些jQuery插件或寻找第三个JSF组件库。PrimeFaces 3.0有一个可以做到这一点的功能。selectOneMenu上的styleClass不起作用,你还有其他想法吗?它可以是不同的背景色或类似的颜色。ThxAs说,HTML
元素只允许很少的细粒度样式。Bold仅在Firefox中可用(甚至只有在打开下拉菜单并选中列表项时才可用!)。您可以使用背景色,但在浏览器中会产生不同的结果。MSIE已经在
中显示了它,但FF和Chrome没有显示,它只在打开的下拉列表中显示。如果你想完全控制样式,你真的必须使用一个模仿下拉菜单的
。另请参见PrimeFaces组件链接。实际上,它不适用于粗体,但适用于不同的颜色。我正在检查它的外观,我发现我确实想要第二个孩子,并尝试使用“第二个孩子”而不是“第一个孩子”,但没有成功。请改用CSS3:nth-child()
伪选择器.cities选项:第n个子项(2)
。同样,您依赖于浏览器支持。它不适用于例如IE8和更老版本,只适用于IE9和更新版本。我更新了答案。