如何在一行上定位一组长的类似CSS选择器?

时间:2014-08-13 11:56:25

标签: css css-selectors

我目前经常在我的CSS中使用

之类的东西
table.form > tbody > tr > td > input[type=text], 
table.form > tbody > tr > td > input[type=password], 
table.form > tbody > tr > td > textarea , 
table.form > tbody > tr > td > select {width: 300px;}

这是一个关于最小CSS输出大小的正确方法吗?是否有任何方法可以对这些元素进行分组而不必重复其整个父结构,这些都是

table.form > tbody > tr > td > 
(input[type=text],input[type=password],textarea,select) {width: 300px;}

1 个答案:

答案 0 :(得分:3)

使用基于Mozilla Firefox和Webkit的Web浏览器,您可以使用:any()伪类一次定位一组元素。

  

:any()伪类可以让你快速构建类似的集合   选择器通过建立任何包含项目的组   会匹配。这是必须重复整个过程的替代方案   选择一个变化的项目。

     

<强> Mozilla Developer Network

语法

:-moz-any( selector[, selector]* )
:-webkit-any( selector[, selector]* )

在这种特殊情况下:

/* For FF 4+ */
table.form > tbody > tr > td > :-moz-any(input[type=text],input[type=password],textarea,select) {width: 300px;}
/* For Chrome 12+, Safari 5.1.3+ */
table.form > tbody > tr > td > :-webkit-any(input[type=text],input[type=password],textarea,select) {width: 300px;}

<强> EXAMPLE HERE

这是一项正在进行中的实验性技术,正在名为:matches() CSS Selectors Level 4 中进行标准化。