Bildunterschriften mit CSS immer perfekt ausrichten

Die Gestaltung von Bildunterschriften kann mitunter lästig werden. Es ist schwierig zu entscheiden ob der Text zentriert oder linksbündig unter dem Bild angezeigt werden soll, da die Textmenge oft stark variiert. Zentrierte Bildunterschriften sehen bei kurzen Texten gut aus. Linksbündig passt besser wenn die Bildunterschrift mehrere Zeilen umfasst. Was also tun?

In diesem Beitrag findet ihr ein CSS-Snippet, dass automatisch dafür sorgt, dass kurze Bildunterschriften zentriert werden, und mehrzeilige Bildunterschriften linksbündig ausgerichtet werden.

Lange Bildunterschriften automatisch linksbündig anzeigen

Der Trick ist denkbar einfach. Ein Bild mit Bildunterschrift besteht i.d.R. aus dem Container-Element <figure>, sowie den enthaltenen Elementen <img> und <figcaption>.

<figure>
  <img src="bild.png" alt /> 
  <figcaption>Hier steht eine sehr lange Bildunterschrift. Sie ist so lang, dass Sie in zwei Zeilen läuft und daher linksbündig angezeigt wird. </figcaption>
</figure>

Innerhalb von <figure> wird der Text nun zunächst zentriert.

figure {
  text-align: center; 
}

Anschließend wird innerhalb der Bildunterschrift <figcaption> der Text linksbündig ausgerichtet und das Element auf display:inline-block; gesetzt.

figcaption {
  display: inline-block; 
  text-align: left;
}

Das war auch schon alles: Wenn die Bildunterschrift kürzer ist als das Bild breit ist, wird <figcaption> aufgrund des Inline-Block-Verhaltens innerhalb von <figure> zentriert. Der in <figcaption> enthaltene Text ist natürlich immer noch linksbündig, doch das sieht man nicht.

Die Bildunterschrift hat einen gelben Hintergrund erhalten, damit die Positionierung besser erkennbar ist
Die Bildunterschrift hat einen gelben Hintergrund erhalten, damit die Positionierung besser erkennbar ist

Erst wenn die Bildunterschrift so lang wird, dass das <figcaption>-Element über die volle Breite von <figure> läuft, sieht man, dass der Text linksbündig ist. Mehrzeilige Bildbeschreibungen werden daher automatisch linksbündig angezeigt.

Beispiel anschauen

Links / Quellen: