Es gibt tatsächlich eine Lösung, mit css3, die ein div von unbekannter Höhe vertikal zentrieren kann. Der Trick besteht darin, das div um 50 % nach unten zu verschieben und dann mit transformY
um sie wieder in die Mitte zu bringen. Die einzige Voraussetzung ist, dass das zu zentrierende Element ein übergeordnetes Element hat. Beispiel:
<div class="parent">
<div class="center-me">
Text, images, whatever suits you.
</div>
</div>
.parent {
/* height can be whatever you want, also auto if you want a child
div to be responsible for the sizing */
height: 200px;
}
.center-me {
position: relative;
top: 50%;
transform: translateY(-50%);
/* prefixes needed for cross-browser support */
-ms-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
}
Unterstützt von allen gängigen Browsern und dem IE 9 und höher (der IE 8 wird nicht unterstützt, da er zusammen mit Windows XP im Herbst dieses Jahres eingestellt wurde). Gott sei Dank).
JS Fiddle Demo
3 Stimmen
Hier ist eine einfache, saubere und stabile Möglichkeit, Divs in einem Container nur mit CSS zu zentrieren. stackoverflow.com/a/31977476/3597276
2 Stimmen
Diese Frage ist als Duplikat einer Frage gekennzeichnet, die 5 Jahre später gestellt wurde. Oh StackOverflow.