Vertikal zentrieren einer div in einem anderen div
Ich versuche vertical-align: middle
ein div in einem anderen div, aber aus irgendeinem Grund funktioniert es nicht richtig. Was mache ich falsch?
CSS:
#wrapper {
border: 1px solid red;
width: 500px;
height: 500px;
}
#block {
border: 1px solid blue;
width: 500px;
height: 250px;
vertical-align: middle;
}
HTML:
<div id = 'wrapper'>
<div id = 'block'> I'm Block </div>
<div>
PS: Dies ist nur ein Beispiel, also Nein, ich weiß wirklich nicht, die tatsächliche Breite und Höhe des divs, da Sie dynamisch sind, ist nach Ihrem Inhalt, also bitte keine margin-top: 125px oder padding-top: 125px Antworten, oder Antworten wie, dass.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
vertical-align
Eigenschaft gilt nur für inline-level - und table-cell Elemente (Quelle). In Ihrem code, mit dem Sie arbeiten block-level - Elemente.Versuchen, diese flexbox-alternative:
CSS:
HTML:
Erfahren Sie mehr über flex-Ausrichtung hier: Methoden für die Ausrichtung von Flex-Elementen
Browser-Unterstützung: Flexbox-unterstützt durch alle gängigen Browser, außer IE < 10. Einige der neuesten Versionen der browser, wie Safari 8 und IE10, erfordern vendor-Präfixe. Für eine schnelle Methode zum hinzufügen von Präfixen verwenden Autoprefixer. Mehr details in diese Antwort.
Hier ist, wie ich in der Regel tun dies.
CSS:
HTML:
Einfache Möglichkeit, um es dynamisch.
Können Sie es auf diese Weise:
Hier eine live-Ansicht: https://jsfiddle.net/w9bpy1t4/
Können Sie dies tun:
Aber, es ist nicht, was Sie suchen !
oder so:
wenn u wissen, die Höhe des inneren div-dann kann u mit position relative, auf wrapper und position absolute in der inneren div mit einer gewissen Marge. Also css kann man diese