有没有办法缩短css选择器?

时间:2014-07-31 07:00:54

标签: css css-selectors

我有:

#signUpForm h1, #signUpForm p{
    color: #fff;
}

有没有办法缩短这一点,如:

#signUpForm h1, p{
    color: #fff;
}

或者我是否每次都需要创建一个新的逗号分隔选择器,如我的第一个示例所示?

3 个答案:

答案 0 :(得分:4)

你有没有想过使用Sass,你可以做类似

的事情
#signUpForm{ 
    h1, p {
        color: #fff;
    } 
} 

答案 1 :(得分:3)

这取决于您指定的属性和您要定位的元素,如果它的内容是color,那么您可以编写

#signUpForm {
    color: #fff;
}

由于color属性将由h1以及p继承,但请考虑您要应用font-weight的方案,因此您无法使用上述选择器由于font-weight代码不会继承h1

如果需要,您可以使用像LESS或SASS这样的CSS预处理器,您可以像

那样编写
#signUpForm {
    h1, p {
       font-weight: 100;
    }
}

但是,正如我所说,这取决于您正在编写的属性,因为有些属性是由子元素继承而有些则不是,所以即使您使用color之类的

#signUpForm {
    h1, p {
       color: #fff;
    }
}

没有任何意义,因为这相当于#signUpForm { color: #fff; },除非您为colorh1

指定了不同的p

答案 2 :(得分:1)

使用:any

#signUpForm :any(h1,p) { }

浏览器支持各不相同。您可能需要执行-webkit-any等。

https://developer.mozilla.org/en-US/docs/Web/CSS/:any。另请参阅http://dev.w3.org/csswg/selectors4/#matches处类似:matches CSS4伪类的提案。