:empty
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Die :empty
CSS Pseudoklasse repräsentiert jedes Element, das keine Kinder hat. Kinder können entweder Elementknoten oder Text (einschließlich Leerzeichen) sein. Kommentare, Verarbeitungshinweise und CSS content
beeinflussen nicht, ob ein Element als leer angesehen wird.
Probieren Sie es aus
div:empty {
outline: 2px solid deeppink;
height: 1em;
}
<p>Element with no content:</p>
<div></div>
<p>Element with comment:</p>
<div><!-- A comment --></div>
<p>Element with nested empty element:</p>
<div><p></p></div>
Hinweis:
In Selectors Level 4 wurde die :empty
Pseudoklasse dahingehend geändert, dass sie wie :-moz-only-whitespace
funktioniert, aber noch wird dies von keinem Browser unterstützt.
Syntax
:empty {
/* ... */
}
Barrierefreiheit
Hilfstechnologien wie Screenreader können interaktive Inhalte, die leer sind, nicht einlesen. Alle interaktiven Inhalte müssen einen zugänglichen Namen haben, der erstellt wird, indem man dem übergeordneten Element der interaktiven Steuerung (Anchors, Buttons, etc.) einen Textwert hinzufügt. Zugängliche Namen machen die interaktive Steuerung dem Zugänglichkeit-Baum zugänglich, einer API, die Informationen liefert, die für Hilfstechnologien nützlich sind.
Der Text, der den zugänglichen Namen der interaktiven Steuerung bereitstellt, kann durch eine Kombination von Eigenschaften verborgen werden, die ihn visuell vom Bildschirm entfernen, aber von Hilfstechnologien lesbar bleiben. Dies wird häufig für Buttons verwendet, die sich ausschließlich auf ein Symbol verlassen, um ihre Funktion zu vermitteln.
Beispiele
HTML
<div class="box"><!-- I will be lime. --></div>
<div class="box">I will be pink.</div>
<div class="box">
<!-- I will be pink in older browsers because of the whitespace around this comment. -->
</div>
<div class="box">
<p>
<!-- I will be pink in all browsers because of the non-collapsible whitespace and elements around this comment. -->
</p>
</div>
CSS
.box {
background: pink;
height: 80px;
width: 80px;
}
.box:empty {
background: lime;
}
Ergebnis
Spezifikationen
Specification |
---|
Selectors Level 4 # the-empty-pseudo |
Browser-Kompatibilität
Siehe auch
:-moz-only-whitespace
– Die prefixierte Implementierung der Änderungen in Selectors Level 4:blank