NB: Ich bin mir nicht ganz sicher, ob diese Erklärung richtig ist, aber sie erscheint mir vernünftig.
Sehen wir uns zunächst an, was die Spezifikation zu folgenden Punkten sagt führend und halbführend :
Da der Wert von "line-height" von der Höhe des Inhaltsbereichs abweichen kann, kann über und unter gerenderten Glyphen Platz sein. Die Differenz zwischen der Höhe des Inhalts und dem verwendeten Wert von "line-height" wird als Zeilenabstand bezeichnet. Die Hälfte des Abstandes wird als halber Abstand bezeichnet.
Benutzeragenten zentrieren Glyphen vertikal in einem Inline-Kasten und fügen oben und unten einen halben Zeilenabstand hinzu. Wenn zum Beispiel ein Textstück "12px" hoch ist und der "line-height"-Wert "14px" beträgt, sollten 2px zusätzlicher Platz hinzugefügt werden: 1px über und 1px unter den Buchstaben. (Dies gilt auch für leere Kästen, als ob der leere Kasten einen unendlich schmalen Buchstaben enthielte).
So weit, so gut. Alle Zeilenboxen innerhalb einer div.small
die eine geringere Höhe haben als die div.small
's line-height
wird vertikal zentriert mit dem div.small
. Sehen wir uns nun an el vertical-align
Eigenschaft insbesondere die middle
Wert:
Richten Sie den vertikalen Mittelpunkt des Rahmens an der Grundlinie des übergeordneten Rahmens plus der Hälfte der x-Höhe des übergeordneten Rahmens aus.
Beachten Sie, dass dies nicht notwendigerweise die Mitte des Linienkastens ist! Die genaue Position hängt von der Wahl der Schriftart und -größe ab. Sie können dies überprüfen, indem Sie den Text vergrößern und verkleinern: Die Größe der Lücke ändert sich.
Wie Sie festgestellt haben, ist die Einstellung font-size: 0
beseitigt die Lücke vollständig. Da die Schrift jetzt keine Höhe mehr hat, erhält der Zeilenrahmen einen Vor- und Halbabstand von 50 Pixel, wobei die Grundlinie vertikal zentriert ist. Zum Rendern der vertical-align: middle
Bildes setzt der Browser seinen Mittelpunkt auf diese Grundlinie plus die x-Höhe der Schrift, die jetzt Null ist. Dies ergibt ein vertikal zentriertes Bild.
0 Stimmen
CSS-Fragen werden besser gestellt auf doctype.com nicht auf SO.
0 Stimmen
Wirklich? Ich dachte, doctype.com sei für Design und nicht für Probleme.
0 Stimmen
Es ist für Design (CSS) Probleme, die ist, was ich würde kategorisieren diese als.
1 Stimmen
Allerdings liegt "CSS" mit rund 4800 Tag-Verwendungen nur 200 Tag-Verwendungen hinter "C", so dass CSS-Fragen in SO eindeutig am häufigsten gestellt werden. Und SO ist eine viel bessere Website als doctype.
0 Stimmen
CSS-Fragen sind hier häufiger, weil a) So hat sich um länger und 2) Die Menschen sind langsam zu lernen, die neue richtige Art, Dinge zu tun.