Problem beim vertikalen Ausrichten von Text eines Elements, das sich über zwei Zeilen erstreckt

7

Ich möchte etwas Text in der Mitte meines Elements mit CSS ausrichten. Das ist mein Markup:

%Vor%

Und das relevante CSS:

%Vor%

Normalerweise, um .quote in der vertikalen Mitte von #testimonial zu erhalten, würde ich Folgendes tun:

%Vor%

Aber das bricht das Layout, weil der Text in .quote mehr als eine Zeile umfasst.

Wie Sie sehen können, habe ich versucht, vertical-align: middle; zu tun, und das funktioniert auch nicht.

Jede Hilfe wird geschätzt. Prost.

    
Josh 30.05.2011, 19:25
quelle

5 Antworten

16

Ich habe kürzlich diese vertikale Zentrierung herausgefunden von etwas, das undefinierte Dimensionen hat, passt sehr gut zu vertical-align: middle; in Kombination mit line-height: 0; .

Schau dir diese Demonstrationsgeige an.

HTML:

%Vor%

CSS:

%Vor%     
NGLN 05.06.2011 20:30
quelle
2

da niemand mit der Tabellenzellenlösung geantwortet hat ..

Hier geht's - mit einer IE6 / 7-Lösung (obwohl es einen yukky HTML-Hack beinhaltet), wie @thirtydot in Kommentaren sagt, Tabellenanzeigeeigenschaften werden von IE7 und darunter nicht unterstützt -

Wenn Sie das zusätzliche HTML-Element nicht wollen / mögen, könnten Sie einfach IE7 und unterhalb einige obere Auffüllung auf .quote geben - so dass es, obwohl es nicht vertikal zentriert wäre, ein akzeptabler Fallback sein könnte

CSS:

%Vor%

IE CSS:

%Vor%

HTML:

%Vor%     
clairesuzy 03.06.2011 08:11
quelle
2

Sie können es einfacher mit einer einzigen Spanne machen Ссылка

%Vor%     
polkila 01.09.2013 04:47
quelle
1

Diese Website bietet eine Fülle von Optionen für die vertikale Zentrierung mit CSS .

>

Wenn Sie eine Höhe auf .quote setzen können, würde Methode 2 in dieser Situation funktionieren:

%Vor%

Eine weitere Option ist die Verwendung der display:table-cell; vertical-align:middle; -Methode in CSS, aber diese Option funktioniert nicht in IE, daher müssen Sie auch eine IE-spezifische Version festlegen.

    
Paul Sham 30.05.2011 19:39
quelle
0

Diese Seite:

Ссылка

Mit dem Ergebnis:

Ссылка

Verwendet das folgende Markup / CSS, um mehrere Zeilen vertikal zu zentrieren, indem Sie die Methode display: table-cell , vertically-align: middle verwenden:

%Vor% %Vor%

    
Jared Farrish 30.05.2011 19:36
quelle

Tags und Links