<!DOCTYPE html>
<html>
<head>
<style>
.class1.class2 {
background-color: yellow;
}
</style>
</head>
<body>
<div class="class1 class2">
<p>paragraph one</p>
<p>paragraph two</p>
</div>
</body>
</html>
在一个元素中使用两个类,然后用多个类选择器设置样式,当你只能用一个类选择器设置一个类的样式时,是不是毫无意义?还是有什么我不明白的地方?
发布于 2017-05-15 00:47:52
不,这不是毫无意义的。
.class1.class2
的样式不同于.class1
和.class2
的组合规则。.class1.class2
选择器为您的规则赋予了2个类而不是1个类的特异性,因此即使您的代码如下所示:.class1 {
...
}
.class2 {
...
}
.class1.class2 {
...
}
.class3 {
...
}
...属性的.class3
值将不会应用于<div class="class1 class2 class3"></div>
,即使它稍后被CSS解析,因为前面的选择器具有更大的特异性(2个类),但它将应用于只有两个类中的一个的元素(即<div class="class1 class3"></div>
)。
这完全取决于您的用例。在理想情况下,是的,您应该尽可能地限制类 (id或任何其他选择器)的使用。
编写高质量CSS
的另一个经验法则是尽可能限制选择器的特异性。
https://stackoverflow.com/questions/43966320
复制相似问题