CSS - 区分下拉选择和列表框选择

时间:2015-05-11 07:29:41

标签: html css css-selectors

使用CSS除了使用类或ID之外,是否有一种方法可以单独使用下拉列表(size ='1')和列表框(size ='[2+]')元素?

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

由于

编辑 - 解决方案(IE 7 + with!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*/
}

1 个答案:

答案 0 :(得分:2)

你所追求的是CSS attribute selector,所以你的规则可能是:

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

话虽如此,属性选择器是CSS3模块的一部分not supported natively by IE6,如果你想使用它们,你需要第三方兼容库,如selectivizr

考虑到这一点,如果你能够 - 为什么不沿着课程路线向每个元素添加一个类size=1来设置它们作为例外呢?

或者,这不是具体的CSS,但jQuery 1.x(支持IE6)有attribute selectors,您可以利用它来识别合格元素,然后直接将CSS类应用于这些,例如:

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