JSFiddle - React, Tailwind, and code Playground

by Ulrich Bangert

HTML

<h2>
Text über Bild
</h2>
<p>
Lösung 1: Bild als Hintergrundbild<br>
Vorteil: Einfache Ausrichtung des Textes<br>
Nachteil: Container passt sich nicht an das Bild an
</p>
<figure id="container1">
  <figcaption id="inner1">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
  </figcaption>
</figure>
<p>
Lösung 2: Text über Bild absolut positioniert<br>
Vorteil: Container passt sich an das Bild an<br>
Nachteil: Umständliche Ausrichtung des Textes
</p>
<figure id="container2">
  <img src="https://via.placeholder.com/400x300">
  <figcaption id="inner2">
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
  </figcaption>
</figure>

CSS

figure {
  margin: 0;
}

#container1, #container2 {
  border: 2px solid blue;
}

#inner1, #inner2 {
  width: 80%;
  text-align: center;
}

#container1 {
  width: 400px;
  height: 300px;
  background-image: url(https://via.placeholder.com/400x300);
  display: flex;
  justify-content: center;
  align-items: center;
}

#container2 {
  position: relative;
  display: inline-block;
}

#inner2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#container2 img {
  vertical-align: top;
}