Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 选择菜单的第二项为粗体_Java_Css_Jsf 2_Selectonemenu - Fatal编程技术网

Java 选择菜单的第二项为粗体

Java 选择菜单的第二项为粗体,java,css,jsf-2,selectonemenu,Java,Css,Jsf 2,Selectonemenu,我有一个SelectOne菜单,上面有一个州的所有城市。我已经做了一个sql来将资本放在首位,但我想加粗以使使用它的人更容易看到它。有没有一种方法可以加粗,或者做一些其他的事情来让第二个选项更明显 由生成的HTML元素只允许很少的细粒度样式,CSS支持依赖于浏览器。您可以使用CSS3:n子项伪选择器。例如 与 .cities选项:第n个子项(2){ 字体大小:粗体; } 但这并不适用于所有浏览器。只有Firefox会吃,但MSIE和Chrome不会。后两种方法不能做到这一点,因为它们不允

我有一个SelectOne菜单,上面有一个州的所有城市。我已经做了一个sql来将资本放在首位,但我想加粗以使使用它的人更容易看到它。有没有一种方法可以加粗,或者做一些其他的事情来让第二个选项更明显


生成的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和更新版本。我更新了答案。