在 CSS 选择器中使用 OR

dea*_*oxy 3 css css-selectors

我有一个出现在许多页面上的元素,我想根据它所在的高级 div 的类对其进行不同的样式。例如,如果我想根据“更改徽标的颜色”其所在页面的类型”。然后假设这些类型可以分组(因此 typeA、typeB 和 typeC 应该使用一种颜色,而 typeD 和 typeE 应该使用另一种颜色)。此外,作为高级 div,这些类型也用于其他用途,因此它们不能合并。

.typeA #logo,
.typeB #logo,
.typeC #logo{
color: #ffffff;
}

.typeD #logo,
.typeE #logo,{
color: #000000;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法与一些选择器链接在一起,这样我就不必让这段代码看起来如此令人讨厌。这个例子很小,但现实世界的版本涉及更多的类型。有没有办法做类似的事情:

.typeA || .typeB || .typeC #logo{
color: #ffffff;
}
Run Code Online (Sandbox Code Playgroud)

Bol*_*ock 5

正如其他人所说,CSS 不支持这种分组。

如果您可以控制标记,为什么不直接向每组类型类添加一个公共类,然后选择该公共类呢?

例子:

<div class="typeA type1">
    <span id="logo">Site Title</span>
</div>

<div class="typeD type2">
    <span id="logo">Site Title</span>
</div>
Run Code Online (Sandbox Code Playgroud)
.type1 #logo { color: #ffffff; }
.type2 #logo { color: #000000; }
Run Code Online (Sandbox Code Playgroud)