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 Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) 1.0 (1.7 or earlier) 7 (Yes) (Yes)
Combination with namespace support (Yes) 1.0 (1.7 or earlier) 9 8 1.3
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? ? 1.0 (1) ? ? ?
Combination with namespace support ? ? ? ? ? ?

Document Tags and Contributors

 Last updated by: teoli,