2013-04-13 12 views
13

Qualcuno può spiegare come allineamento verticale del testo negli elementi <a>, quindi entrambi i testi vengono visualizzati al centro del riquadro rosso?Allinea verticalmente il testo nell'elemento <a> con i CSS

http://jsfiddle.net/WeKtX/

Ecco la mia HTML:

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

e la mia CSS:

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

Molte grazie per tutti i puntatori

risposta

13

Se si vuole centrare il testo in orizzontale quindi provare:

text-align: center; 

Se si vuole centrare il testo verticalmente quindi provare:

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

Tenete a mente, che quando si usa line-height, lo farà funziona solo su una riga di testo. Se si desidera eseguire più righe di testo, si teme di dover specificare un'altezza per il testo e quindi utilizzare position: absolute; sul testo con position: relative; sull'elemento padre.

Per esempio, su più righe mi piacerebbe provare qualcosa di simile 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

Buona risposta. Penso che userò una classe per ignorare 'line-height' su quelli con più righe di testo. – michaelmcgurk

+1

Vedere la mia risposta modificata. – cereallarceny

+1

Sono stato in grado di aiutare @michaelmcgurk? Se è così, segna la mia risposta corretta in modo che possa aiutare altre persone in futuro! – cereallarceny

Problemi correlati