CSS - 区分下拉列表 select 和列表框 select

CSS - Differentiate between drop down select and list box select

除了使用 类 之外,有没有办法使用 CSS 分别定位下拉列表 (size='1') 和列表框 (size='[2+]') 元素或身份证?

跨浏览器和 IE6 :( 兼容性将是理想的。

谢谢

编辑 - 解决方案(IE 7 + 带有 !DOCTYPE) 感谢 SW4

select{
    /*All select elements (Drop downs and Lists)*/
}

select[size]{
    /*All select elements with size specified (Typically just lists unless you specify a select with size='1')*/
}

select[size='1']{
    /*All select elements with size='1', does not include elements where size is not specified*/
}

您所追求的是 CSS attribute selector,因此您的规则可以是例如:

select{
   /* everything with a size > 1 */
}
select[size=1]{
   /* everything with a size attribute === 1 */
}

话虽如此,属性选择器是 CSS3 模块的一部分,因此 not supported natively by IE6, you will need a 3rd party compatibility library such as selectivizr 如果您想使用它们。

考虑到这一点,如果您能够- 为什么不走 class 路线并向每个元素添加 class 并使用 size=1 将它们设置为例外样式?

或者,这不是 CSS,而是 jQuery 1.x(支持 IE6)有 attribute selectors,您可以利用它来识别符合条件的元素直接对这些应用 CSS class,例如:

$('select[size=1]').addClass('css-class');