:empty

The :empty pseudo-class represents any element that has no children at all. Only element nodes and text (including whitespace) are considered. Comments or processing instructions do not affect whether an element is considered empty or not.

/* Selects any <div> that contains no content */
div:empty {
  background: lime;
}

Syntax

How to read CSS syntax.
:empty

Examples

body {
  display: flex;
  justify-content: space-around;
}
.box {
  background: red;
  height: 100px;
  width: 100px;
}
.box:empty {
  background: lime;
}
<div class="box"><!-- I will be lime --></div>
<div class="box">I will be red</div>
<div class="box">
    <!-- I will be red because of the whitespace around this comment -->
</div>

Specifications

Specification Status Comment
Selectors Level 4
The definition of ':empty' in that specification.
Working Draft No change
Selectors Level 3
The definition of ':empty' in that specification.
Recommendation Initial definition

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 (Yes) 1.0 (1.7 or earlier) 9.0 9.5 3.1

Document Tags and Contributors

 Last updated by: chrisdavidmills,