mitmario.dev

HTML-Grundlagen · 6 von 9

Block- vs. Inline-Elemente

HTML-Elemente verhalten sich beim Layout grundsätzlich auf zwei verschiedene Arten: Als Block oder als Inline. Dieses Verhalten bestimmt, wie viel Platz ein Element einnimmt und wie es sich neben anderen Elementen positioniert. Wenn du verstehst, wie das funktioniert, werden dir viele CSS-Layout-Fragen sofort klarer.

Steckbrief Grundlagen
Reihe
HTML-Grundlagen
Teil
6 von 9
Kapitel
8
Vorschauen
4
Lesezeit
4 Min
Stand
03.02.2026

Block-Elemente

01 / 08

Ein Block-Element nimmt die gesamte verfügbare Breite ein und beginnt immer auf einer neuen Zeile. Es drückt nachfolgende Elemente nach unten:

index.html
Block-Elemente: volle Breite, neue Zeile
<div style="background: #dbeafe;">Erstes Block-Element (div)</div>
<p style="background: #dcfce7;">Zweites Block-Element (p)</p>
<h3 style="background: #fef3c7;">Drittes Block-Element (h3)</h3>

Jedes Element steht auf seiner eigenen Zeile und nimmt die volle Breite ein, egal wie kurz der Inhalt ist.

Typische Block-Elemente:

ElementZweck
<div>Generischer Container
<p>Absatz
<h1>–<h6>Überschriften
<ul>, <ol>Listen
<header>Kopfbereich
<section>Thematischer Abschnitt
<article>Eigenständiger Inhalt
<form>Formular
<blockquote>Zitat

Inline-Elemente

02 / 08

Ein Inline-Element nimmt nur so viel Platz ein wie sein Inhalt. Es bleibt in der gleichen Zeile und fließt mit dem umgebenden Text mit:

index.html
Inline-Elemente: fließen im Text mit
<p>
  Dies ist ein Absatz mit einem <strong>fetten Wort</strong>
  und einem <em>kursiven Wort</em>
  und einem <a href="#">Link</a> darin.
</p>

Alle drei hervorgehobenen Wörter stehen in der gleichen Zeile wie der restliche Text.

Typische Inline-Elemente:

ElementZweck
<span>Generischer Inline-Container
<a>Link
<strong>Starke Betonung
<em>Betonung
<code>Code-Fragment
<img>Bild (Sonderfall)
<br>Zeilenumbruch
<abbr>Abkürzung

Der entscheidende Unterschied

03 / 08
EigenschaftBlockInline
BreiteVolle verfügbare BreiteNur so breit wie der Inhalt
Neue ZeileJa, immerNein, bleibt in der Zeile
width/heightWirktWird ignoriert
margin oben/untenWirktWird ignoriert
paddingWirkt rundumWirkt, verschiebt aber nicht vertikal

Das ist der Knackpunkt: Bei Inline-Elementen kannst du width, height und vertikale Margins nicht setzen. Das verwirrt am Anfang häufig.

inline-block: Das Beste aus beiden Welten

04 / 08

Es gibt einen dritten Modus: inline-block. Ein Element mit display: inline-block bleibt in der Zeile (wie inline), akzeptiert aber width, height und vertikale Margins (wie block):

index.html
inline-block: Inline-Position mit Block-Eigenschaften
<span style="display: inline-block; width: 120px; height: 40px;">
  Box 1
</span>
<span style="display: inline-block; width: 120px; height: 40px;">
  Box 2
</span>
<span style="display: inline-block; width: 120px; height: 40px;">
  Box 3
</span>

CSS display: Verhalten ändern

05 / 08

Das Standard-Displayverhalten ist nicht in Stein gemeißelt. Mit der CSS-Eigenschaft display kannst du es ändern:

index.html
Inline-Element als Block darstellen
<style>
  .als-block {
    display: block;
  }
</style>

<span class="als-block">Span als Block</span>
<span class="als-block">Noch ein Span als Block</span>

Obwohl <span> normalerweise ein Inline-Element ist, verhält es sich hier wie ein Block-Element, weil wir display: block setzen.

Gängige display-Werte:

WertVerhalten
blockBlock-Element
inlineInline-Element
inline-blockInline-Position, Block-Eigenschaften
noneElement wird ausgeblendet
flexFlexbox-Container
gridGrid-Container

flex und grid sind moderne Layout-Methoden, die über das einfache Block/Inline-Modell hinausgehen. In der Praxis wirst du sie ständig verwenden, sie sind aber ein CSS-Thema.

Verschachtelungsregeln

06 / 08

Aus dem Block/Inline-Unterschied ergeben sich wichtige Regeln für die Verschachtelung:

Block in Block ist erlaubt:

<div>
  <p>Absatz im div</p>
</div>

Inline in Inline ist erlaubt:

<strong><em>Fett und kursiv</em></strong>

Inline in Block ist erlaubt:

<p>Text mit <strong>fettem Wort</strong></p>

Block in Inline ist nicht erlaubt:

<!-- Falsch! -->
<span>
  <p>Absatz in einem span</p>
</span>

Es gibt eine Ausnahme: Das <a>-Element darf in HTML5 Block-Elemente enthalten, damit du z.B. eine ganze Karte klickbar machen kannst:

<!-- Erlaubt seit HTML5 -->
<a href="/artikel">
  <article>
    <h2>Artikel-Titel</h2>
    <p>Beschreibung...</p>
  </article>
</a>

Häufige Fehler

07 / 08
01 width/height bei Inline-Elementen
<span style="width: 200px"> hat keinen Effekt. Du brauchst display: inline-block oder display: block.
02 <div> in <p>
Ein Block-Element innerhalb eines Absatzes ist ungültig. Der Browser wird das <p> vorzeitig schließen, und das Ergebnis ist wahrscheinlich nicht das, was du erwartest.
03 Vertikaler Abstand bei Inline
margin-top und margin-bottom bei Inline-Elementen werden ignoriert. Verwende padding (wirkt visuell, aber ohne Layout-Verschiebung) oder wechsle zu inline-block.

Zusammenfassung

08 / 08
TypBreiteNeue Zeilewidth/heightBeispiele
BlockVolle BreiteJaWirktdiv, p, h1, section
InlineInhaltsgrößeNeinIgnoriertspan, a, strong, em
Inline-BlockInhaltsgrößeNeinWirktimg (Standard), button

Merke dir: Das Standard-Displayverhalten bestimmt nur den Ausgangspunkt. Mit CSS display kannst du jederzeit wechseln.

Im nächsten Artikel geht es um Barrierefreiheit: wie du HTML so schreibst, dass alle Menschen deine Seite nutzen können.

Newsletter

einmal die Woche, kostenlos

Neue Artikel und Videos, was sich auf der Lernplattform tut, und ab und zu ein Sonderpreis zum Kursstart. Kurz genug, dass du es auch liest.

Zuletzt verschickt · KW 40

Einmal alles neu, und die Lernplattform ist da

Danach kommt eine Mail mit Bestätigungslink, erst dann bist du eingetragen. Abmelden geht unten in jeder Ausgabe. Mehr dazu in der Datenschutzerklärung.