2013-04-13 13 views
13

vertikal ausrichten Kann jemand erklären, wie ich den Text in <a> Elemente vertikal ausrichten - so erscheint beide Text in der Mitte der roten Box?Text vertikal in <a> Element mit CSS

http://jsfiddle.net/WeKtX/

Hier ist mein HTML:

<ul> 
<li><a href="#">this is a link</a></li> 
<li><a href="#">this is an even longer link</a></li> 
</ul> 

und mein CSS:

li {list-style-type:none;margin:0;padding:0} 
li a {width:100px;float:left;background:red;margin-right:20px;height:40px} 

Vielen Dank für alle Hinweise

Antwort

13

Wenn Sie den Text horizontal dann zentrieren möchten versuchen:

text-align: center; 

Wenn Sie den Text vertikal dann versuchen, zentrieren möchten:

line-height: 40px; //Where 40px is the height of your parent element 

Denken Sie daran, dass, wenn line-height verwenden, wird es Arbeiten Sie nur an einer Zeile des Textes. Wenn Sie mehrere Textzeilen ausführen möchten, müssen Sie leider eine Höhe für den Text angeben und dann position: absolute; für den Text mit position: relative; für das Elternelement verwenden.

Für Ihr mehrzeiligen Beispiel würde ich so etwas wie the following jsFiddle versuchen:

li { 
    list-style-type:none; 
    margin:0; 
    padding:0; 
    position: relative; 
    height: 60px; 
    width: 200px; 
    display: block; 
    background:red; 
} 

li a { 
    width:100px; 
    height:40px; 
    position: absolute; 
    top: 50%; 
    margin-top: -20px; 
} 
+0

Gute Antwort. Ich denke, ich werde eine Klasse verwenden, um 'line-height' in den Mehrzeilentexten zu ignorieren. – michaelmcgurk

+1

Siehe meine bearbeitete Antwort. – cereallarceny

+1

Konnte ich @michaelmcgurk helfen? Wenn ja, markiere meine Antwort richtig, damit sie anderen Menschen in Zukunft helfen kann! – cereallarceny

Verwandte Themen