HTMLWiki.de: display
HTMLWiki.de >
HTML lernen • Beispiele • Tutorials • KI

[ START ] [ TUTORIAL ] [ HTML ] [ CSS ] [ KI ] [ SPIELWIESE ] [ SITEMAP ]

display: Das Verhalten umschalten

Jedes Element hat ein eingebautes Standardverhalten, das Denkmodell dazu steht im HTML-Kapitel Block und Inline. Die CSS-Eigenschaft display schaltet dieses Verhalten um, und sie öffnet die Tür zu den modernen Layoutverfahren.

Die klassischen Werte

WertVerhalten
blockEigene Zeile, volle Breite, Maße einstellbar. So verhalten sich p, div und Überschriften von Haus aus.
inlineFließt im Text mit, ignoriert width und height. Standard bei a, span, strong.
inline-blockDer Zwitter: fließt im Text mit, lässt sich aber wie ein Block bemessen und polstern. Jahrelang das Mittel der Wahl für nebeneinanderstehende Kästen.
noneWeg. Das Element wird nicht gerendert und belegt keinen Platz, auch für Screenreader ist es nicht mehr da.

Beispiel: Links als Buttons aufziehen

.btn {
    display: inline-block;
    padding: 8px 16px;
    border: 2px outset #C0C0C0;
    background: #C0C0C0;
}

Ein Link ist inline und würde padding oben und unten nur widerwillig mitmachen. Als inline-block wird er zur ordentlichen Schaltflächen-Box, genau so entstehen die grauen 3D-Knöpfe hierr im Wiki.

Die modernen Werte: flex und grid

display: flex und display: grid verwandeln ein Element in einen Layout-Container, der seine Kinder nach neuen Regeln anordnet: nebeneinander, verteilt, in Rastern. Das sind die beiden Werkzeuge mit denen heute Seitenlayouts gebaut werden, jedes bekommt bei uns ein eigenes Kapitel: Flexbox und Grid.

Verstecken: none ist nicht die einzige Option

Neben display: none gibt es visibility: hidden (unsichtbar, aber der Platz bleibt reserviert) und Techniken die Inhalte nur visuell verstecken, für Screenreader aber hörbar lassen, etwa für Skip-Links. Welche Variante richtig ist hängt davon ab für wen etwas verschwinden soll. Faustregel: display: none versteckt vor allen, und das ist oft mehr als gewolt.

Typische Fehler

  • width an einem inline-Element setzen und sich wundern dass nichts passiert.
  • Wichtige Inhalte per display: none "ausblenden" und vergessen dass sie damit auch aus der Zugänglichkeit und der Tastaturnavigation fallen.
  • Mit inline-block-Ketten Layouts bauen, die längst ein Fall für Flexbox sind. Der berüchtigte Leerzeichen-Spalt zwischen inline-blocks hat genug Nerven gekostt.

Weiter im Lernpfad: position · Verwandt: Block und Inline