2013-04-13 28 views
13

Czy ktoś może wyjaśnić, w jaki sposób wyrównuję tekst w pionie w elementach <a> - tak, aby oba teksty pojawiły się w środku czerwonego kwadratu?Wyrównywanie w pionie tekstu w elemencie <a> za pomocą CSS

http://jsfiddle.net/WeKtX/

Oto mój HTML:

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

i mój CSS:

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

Wielkie dzięki za wszelkie wskazówki

Odpowiedz

13

Jeśli chcesz wyśrodkować tekst poziomo następnie spróbuj:

text-align: center; 

Jeśli chcesz wyśrodkować tekst w pionie, a następnie spróbuj:

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

Należy pamiętać, że podczas korzystania z line-height, będzie działa tylko na linii jednej linii tekstu. Jeśli chcesz zrobić wiele wierszy tekstu, obawiam się, że musisz określić wysokość tekstu, a następnie użyć position: absolute; na tekście z position: relative; na elemencie nadrzędnym.

Dla przykładu multi-line chciałbym spróbować czegoś podobnego the following jsFiddle:

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

dobra odpowiedź. Myślę, że użyję klasy, aby zignorować 'wysokość linii 'na tekstach z wieloma wierszami. – michaelmcgurk

+1

Zobacz moją zmienioną odpowiedź. – cereallarceny

+1

Czy byłem w stanie pomóc @michaelmcgurk? Jeśli tak, zaznacz moją odpowiedź poprawną, aby mogła pomóc innym ludziom w przyszłości! – cereallarceny

Powiązane problemy