通用选择器

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

CSS 通用选择器 (*) 匹配任何类型的元素。

css
/* Selects all elements */
* {
  color: green;
}

通用选择器是一种特殊的类型选择器,因此在使用@namespace时可以指定命名空间。这在处理包含多个命名空间的文档时非常有用,例如带有内联 SVG 或 MathML 的 HTML,或者混合使用多种词汇表的 XML。

  • ns|* - 匹配命名空间 ns 中的所有元素
  • *|* - 匹配所有元素
  • |* - 匹配所有未声明命名空间的元素

语法

css
* { style properties }

在简单选择器中,星号是可选的。例如,*.warning.warning 是等效的。

示例

CSS

css
* [lang^="en"] {
  color: green;
}

*.warning {
  color: red;
}

*#maincontent {
  border: 1px solid blue;
}

.floating {
  float: left;
}

/* automatically clear the next sibling after a floating element */
.floating + * {
  clear: left;
}

HTML

html
<p class="warning">
  <span lang="en-us">A green span</span> in a red paragraph.
</p>
<p id="maincontent" lang="en-gb">
  <span class="warning">A red span</span> in a green paragraph.
</p>

结果

命名空间

在此示例中,选择器将只匹配示例命名空间中的元素。

css
@namespace example url("http://www.example.com/");
example|* {
  color: blue;
}

规范

规范
选择器 Level 4
# 通用选择器

浏览器兼容性

另见