Vertikale Ausrichtung auf einem Inline-Block-Anchor-Tag

9

Ich möchte, dass meine Links und Schaltflächen gleich aussehen, aber ich konnte den Text innerhalb eines "a" -Tags nicht auf die gleiche Weise wie das "button" -Tag ausrichten. Es ist wichtig zu beachten, dass die Tags in der Lage sein müssen, mehrere Textzeilen zu verarbeiten (so dass die Zeilenhöhe nicht funktioniert).

%Vor%

Siehe unten:

Ссылка

Wie Sie sehen können, kann ich es mit einer Kombination aus einem span-Tag und der Einstellung "display: table" auf "a" und "display: table-cell" und "vertical-align: middle" einstellen "Zur Spannweite, aber das funktioniert in IE7 nicht.

%Vor%

Suche nach einer einfachen CSS-Lösung.

    
Travis 03.05.2012, 18:55
quelle

3 Antworten

12

Der einzige zuverlässige Weg, um Text vertikal auszurichten und den Text zu umbrechen, wenn er zu lang wird, ist der Ansatz mit zwei Containern.

Der äußere Behälter sollte eine doppelte Höhe haben als der innere Behälter. In Ihrem Fall bedeutet das Folgendes:

%Vor%

Fügen Sie float auf dem a-Tag hinzu, wenn Sie alles inline möchten. Hier ist das aktualisierte Beispiel mit langem Text im A-Tag auch .. Ссылка

Sie können die Zeilenhöhe in der Spanne auf den von Ihnen gewünschten Wert einstellen, und wenn sie weniger als die Hälfte der Zeilenhöhe des übergeordneten Elements beträgt, wird sie zentriert und Textumbruch zulassen, wenn Ihr Text die Breite des übergeordneten Containers überschreitet. Dies funktioniert bei allen modernen Browsern, soweit ich weiß.

    
Gats 03.05.2012, 19:04
quelle
4

Wenn Ihr Text nicht größer als die Breite der Box ist, können Sie die Zeilenhöhe der Höhe der Box anpassen.

line-height:150px;

    
Jrod 03.05.2012 18:58
quelle
-2

Verwenden Sie line-height:150px; und display-inline:block;

    
kuldeep singh 06.10.2016 18:25
quelle