具有相同父类的逗号分隔元素的 CSS 简写?

Sea*_*ean 2 css css-selectors

我试图让同一个父元素的几个(但不是全部)元素具有相同的样式。

.red p, .red a, .red h3, .red button { color: red; }
Run Code Online (Sandbox Code Playgroud)
<div class="red">
  <p></p>
  <a></a>
  <h3></h3>
  <button></button>
</div>
Run Code Online (Sandbox Code Playgroud)

有没有比这更短的方法 .red p, .red a, .red h3, .red button { color: red; }吗?

类似的东西 .red [p, a, h3, button](不起作用)的东西?

谢谢

Ori*_*ori 5

:is伪选择器(以前称为:matches:any)是部分选择等级4 CSS规范草案

.red :is(p, a, h3, button) {
  color: red;
  cursor: pointer;
}
Run Code Online (Sandbox Code Playgroud)

使用前缀的浏览器部分支持它:

.red :is(p, a, h3, button) {
  color: red;
  cursor: pointer;
}
Run Code Online (Sandbox Code Playgroud)
.red :-webkit-any(p, a, h3, button) {
  color: red;
}

.red :-moz-any(p, a, h3, button) {
  color: red;
}

.red :matches(p, a, h3, button) {
  color: red;
}

.red :is(p, a, h3, button) {
  color: red;
}
Run Code Online (Sandbox Code Playgroud)

  • 更好地了解支持:https://caniuse.com/#search=%3Ais (2认同)
  • @AlexG 不,如果浏览器不支持这些语法之一,那么整个规则应该被丢弃。 (2认同)