Summary

An asterisk (*) is the universal selector for CSS. It matches a single element of any type. Omitting the asterisk with simple selectors has the same effect. For instance, *.warning and .warning are considered equal.

In CSS 3, the asterisk may be used in combination with namespaces:

  • ns|* - matches all elements in namespace ns
  • *|* - matches all elements
  • |* - matches all elements without any declared namespace

Examples

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

*.warning {
  color:red;
}

*#maincontent {
  border: 1px solid blue;
}
<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>

Specifications

Specification Status Comment
Selectors Level 4
The definition of 'universal selector' in that specification.
Working Draft No changes
Selectors Level 3
The definition of 'universal selector' in that specification.
Recommendation Defined behavior in regard of namespaces and added hint that omitting the selector is allowed within pseudo-elements
CSS Level 2 (Revision 1)
The definition of 'universal selector' in that specification.
Recommendation Initial definition

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) 1.0 (1.7 or earlier) 7 (Yes) (Yes)
Combination with namespace support (Yes) (Yes) 1.0 (1.7 or earlier) 9 8 1.3
Feature Android Chrome for Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? ? (Yes) 1.0 (1) ? ? ?
Combination with namespace support ? ? (Yes) ? ? ? ?