<display-box>
Diese Schlüsselwörter definieren, ob ein Element überhaupt Anzeige-Boxen erzeugt.
Syntax
Gültige <display-box>
Werte:
contents
-
Diese Elemente erzeugen selbst keine spezifische Box. Sie werden durch ihre Pseudo-Box und deren Kinder-Boxen ersetzt. Bitte beachten Sie, dass die CSS Display Level 3 Spezifikation beschreibt, wie der
contents
Wert "ungewöhnliche Elemente" beeinflussen sollte — Elemente, die nicht rein durch CSS-Box-Konzepte gerendert werden, wie ersetzte Elemente. Weitere Details finden Sie in Anhang B: Effekte von display: contents auf ungewöhnliche Elemente.Aufgrund eines Bugs in Browsern wird dieses Element derzeit aus dem Zugänglichkeitsbaum entfernt — Bildschirmleseprogramme berücksichtigen nicht, was sich darin befindet. Weitere Einzelheiten finden Sie im Abschnitt Barrierefreiheit unten.
none
-
Schaltet die Anzeige eines Elements aus, sodass es keinen Einfluss auf das Layout hat (das Dokument wird gerendert, als ob das Element nicht existieren würde). Alle Nachfahren-Elemente werden ebenfalls nicht mehr angezeigt. Um ein Element den Platz einnehmen zu lassen, den es normalerweise einnehmen würde, ohne tatsächlich etwas zu rendern, verwenden Sie stattdessen die Eigenschaft
visibility
.
Barrierefreiheit
Aktuelle Implementierungen in den meisten Browsern entfernen aus dem Zugänglichkeitsbaum jedes Element mit einem display
Wert von contents
. Dies führt dazu, dass das Element — und in einigen Browserversionen auch seine Nachfahren-Elemente — von Bildschirmlesetechnologien nicht mehr angesagt werden. Dies ist ein inkorrektes Verhalten gemäß der CSSWG-Spezifikation.
Formale Syntax
<display-box> =
contents |
none
Beispiele
Im ersten Beispiel wird der Absatz mit einer Klasse von secret auf display: none
gesetzt; die Box und jeglicher Inhalt wird nun nicht mehr 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 der äußere <div>
einen 2-Pixel breiten roten Rand und eine Breite von 300px. Da jedoch auch display: contents
angegeben ist, wird dieser <div>
nicht gerendert, der Rahmen und die Breite gelten nicht mehr, und das Kind-Element wird angezeigt, als ob das Elternelement nie existiert hätte.
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 |
Browser-Kompatibilität
BCD tables only load in the browser