<display-box>
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
* Some parts of this feature may have varying levels of support.
Diese Schlüsselwörter definieren, ob ein Element überhaupt Darstellungsboxen erzeugt.
Syntax
Gültige <display-box>
Werte:
contents
-
Diese Elemente erzeugen selbst keine spezifische Box. Sie werden durch ihre Pseudo-Box und ihre Kinderboxen ersetzt. Bitte beachten Sie, dass die CSS Display Level 3 Spezifikation festlegt, wie der Wert
contents
"ungewöhnliche Elemente" beeinflussen sollte — Elemente, die nicht rein durch CSS-Box-Konzepte gerendert werden, wie z.B. ersetzte Elemente. Weitere Details finden Sie in Anhang B: Effects of display: contents on Unusual Elements.Aufgrund eines Fehlers in Browsern wird dies derzeit das Element aus dem Accessibility-Baum entfernen — Screenreader werden nicht auf den Inhalt zugreifen. Weitere Informationen finden Sie im Abschnitt Barrierefreiheit unten.
none
-
Schaltet die Anzeige eines Elements ab, sodass es keinen Einfluss auf das Layout hat (das Dokument wird gerendert, als ob das Element nicht existiert). Alle untergeordneten Elemente werden ebenfalls nicht angezeigt. Um ein Element den Raum einnehmen zu lassen, den es normalerweise einnehmen würde, aber ohne tatsächlich etwas zu rendern, verwenden Sie stattdessen die
visibility
Eigenschaft.
Barrierefreiheit
Aktuelle Implementierungen in den meisten Browsern entfernen aus dem Accessibility-Baum jedes Element mit einem display
-Wert von contents
. Dies führt dazu, dass das Element — und in einigen Browserversionen auch seine Kindelemente — nicht mehr von Screenreadern angekündigt werden. Dies ist ein falsches Verhalten gemäß der CSSWG-Spezifikation.
Formale Syntax
<display-box> =
contents |
none
Beispiele
In diesem ersten Beispiel wird der Absatz mit der Klasse secret auf display: none
gesetzt; die Box und jeglicher Inhalt werden nun nicht gerendert.
display: none
HTML
<p>Visible text</p>
<p class="secret">Invisible text</p>
CSS
p.secret {
display: none;
}
Ergebnis
display: contents
In diesem Beispiel hat das äußere <div>
einen 2-Pixel roten Rand und eine Breite von 300px. Da jedoch auch display: contents
angegeben ist, wird dieses <div>
nicht gerendert, der Rand und die Breite entfallen, und das Kindelement wird angezeigt, als hätte der Elternteil nie existiert.
HTML
<div class="outer">
<div>Inner div.</div>
</div>
CSS
.outer {
border: 2px solid red;
width: 300px;
display: contents;
}
.outer > div {
border: 1px solid green;
}
Ergebnis
Spezifikationen
Specification |
---|
CSS Display Module Level 3 # valdef-display-contents |