使用 CSS,选择具有多个 ID 属性是否有意义"#id1 #id2 {..."



可能的重复项:
CSS 内部 ID 选择器

我遇到了以下CSS选择器,我觉得它不太有意义。

#id1 #id2 .class1 {
 color: #fff;
}

在我看来,CSS 选择器将首先匹配元素 #id1 ,然后与元素#id2匹配,然后与类属性设置为 class1 的元素(包括#id2(匹配。

我的预感是它是有效的 CSS,但也没有必要指定 #id1 ,或者如果它只是为了在#id1有子#id2时匹配文档,而不是在没有父#id1的情况下匹配#id2

由于#id1的特异性为 0,1,0,0,0,#id2的特异性为 0,1,0,0,0,而.class1的特异性为 0,0,1,0,

因此得到 0,2,1,0。但这是否必要或有用?似乎更有效的方法是创建两个规则并分别按每个 id 进行选择。

我似乎找不到任何其他看起来像#id1 #id2 ...的 CSS 选择器示例。

任何人都可以对此发表评论并帮助我进行健全性检查吗?

这选择具有类class1的元素和具有 id id2 的祖先(包括父级(,该祖先本身具有具有 id1 的祖先。所以你的解释很接近,但这不会选择具有id2class1的元素,除非它包含在另一个id2中。

如果您希望它包含id2则必须使用 #id1 #id2.class1, #id1 #id2 .class1 作为选择器。

如果您只是#id2 .class1那么无论id2元素是否在id1中,您都会在具有id2的元素中选择具有类class1的元素。

因此,这两个选择器具有不同的含义。

相关内容

最新更新