Elemente vertikal zentrieren mit „Rand: Auto“
Während „Rand: Auto“ Elemente effektiv horizontal zentriert, können die Funktionen zur vertikalen Ausrichtung dies sein beschränkt. Dies liegt an der Art und Weise, wie Blockboxen vertikal gestapelt werden, und an der Möglichkeit, dass der Rand zusammenbricht.
Gemäß CSS2.1 Abschnitt 10.6.2 werden Blockboxen im normalen Fluss von oben nach unten gestapelt. Vertikale Ränder können zusammenbrechen und unter bestimmten Umständen auf Null gehen. In Fällen, in denen der umschließende Block eine automatische Höhe und nur eine Blockbox hat, sind seine oberen und unteren Ränder von Natur aus Null.
Für mehrere Blockboxen im selben Fluss oder Out-of-Flow-Boxen, die den Zufluss beeinflussen Je nach Layout wird die Auflösung automatischer Ränder komplexer. Dies gilt auch für Inline-Elemente und Floats, bei denen der automatische linke und rechte Rand auf Null gesetzt wird, um Interferenzen mit Linienboxen zu vermeiden.
Im Gegensatz dazu sind absolut positionierte Boxen gegenüber anderen Boxen im gleichen Positionierungskontext nicht wahrnehmbar. Daher können die automatischen oberen und unteren Ränder für sie ausschließlich auf der Grundlage ihrer enthaltenden Blöcke berechnet werden.
Flexbox bietet eine einzigartige Lösung für Flex-Elemente, die sich im Flex-Formatierungskontext vollständig gegenseitig kennen. Vertikale Ränder in Flexbox folgen bestimmten Regeln und ermöglichen eine präzisere Kontrolle über die Elementausrichtung.
Das obige ist der detaillierte Inhalt vonWarum zentriert „Rand: Automatisch' Elemente nicht vertikal?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!