Was wäre die richtige Methode, um vertikal Inhalte Mitte in einer definierten Breite / Höhe div
.
Im Beispiel gibt es zwei Inhalte mit unterschiedlichen Höhen. Dies ist der beste Weg, um beide mithilfe der Klasse vertikal zu zentrieren .content
. (und es funktioniert für jeden Browser und ohne die Lösung von table-cell
)
Haben Sie einige Lösungen im Sinn, möchten aber andere Ideen kennen, die man verwendet position:absolute; top:0; bottom: 0;
und margin auto
.
html
css
vertical-alignment
Ricardo Rodrigues
quelle
quelle
display: flex; align-items: center;
. Wenn Sie nicht möchten, dass es auch horizontal zentriert ist, fügen Sie hinzuflex-direction: column;
.Antworten:
Ich habe dies ein wenig recherchiert und von dem, was ich gefunden habe, haben Sie vier Möglichkeiten:
Version 1: Übergeordnetes Div mit Anzeige als Tabellenzelle
Wenn es Ihnen nichts ausmacht, das
display:table-cell
auf Ihrem übergeordneten Div zu verwenden, können Sie die folgenden Optionen verwenden:Live DEMO
Version 2: Übergeordnetes Div mit Anzeigeblock und Inhaltsanzeigetabellenzelle
Live DEMO
Version 3: Parent Div Floating und Content Div als Anzeigetabellenzelle
Live DEMO
Version 4: Übergeordnete Div-Position relativ zur Inhaltsposition absolut
Das einzige Problem, das ich mit dieser Version hatte, ist, dass Sie anscheinend das CSS für jede spezifische Implementierung erstellen müssen. Der Grund dafür ist, dass der Inhaltsbereich die festgelegte Höhe haben muss, die Ihr Text ausfüllt, und dass der obere Rand davon abgeleitet wird. Dieses Problem ist in der Demo zu sehen. Sie können es für jedes Szenario manuell zum Laufen bringen, indem Sie die Höhe% Ihres Inhalts div ändern und mit -.5 multiplizieren, um Ihren oberen Randwert zu erhalten.
Live DEMO
quelle
area
enthalten ist oder wascontent
Inhalt ist?Dies könnte auch
display: flex
mit nur wenigen Codezeilen erfolgen. Hier ist ein Beispiel:Live-Demo
quelle
flex-direction: column
Ich habe diese Lösung in diesem Artikel gefunden
Es funktioniert wie ein Zauber, wenn die Höhe des Elements nicht festgelegt ist.
quelle
position: relative
in Chrom 62. Nicht sicher, wie weit das zurück geht.margin: all_four_margin
Durch die Bereitstellung von 50% für all_four_margin wird das Element in der Mitte platziert
style="margin: 50%"
Sie können es auch für das Folgende anwenden
Rand: oben rechts unten links
Rand: oben rechts und links unten
Rand: oben & unten rechts & links
Durch Angabe des entsprechenden% erhalten wir das Element, wo immer wir wollen.
quelle
margin
.