2013-04-13 8 views
13

に垂直に整列させる<a>要素のテキストを垂直方向に整列させる方法を説明できますか?両方のテキストが赤いボックスの中央に表示されますか?<a>要素のテキストをCSS

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

と私のCSS

http://jsfiddle.net/WeKtX/

は、ここに私のHTMLだ任意のポインタのための

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

感謝

答えて

13

あなたが水平にし、テキストを中央揃えにしたい場合は試してみてください。

text-align: center; 

あなたがテキストを垂直方向に中央揃えにしたい場合は、試してみてください。

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

行の高さを使用した場合、それがすることを、覚えておいてください1行のみテキストです。複数行のテキストを作成したい場合は、テキストの高さを指定して、テキストにposition: absolute;を、親要素にposition: relative;と指定する必要があります。

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

良い答え:

あなたのマルチラインたとえばIはthe following jsFiddleのようなものを試してみました。私はクラスを使用して複数の行のテキスト行に 'line-height'を無視すると思います。 – michaelmcgurk

+1

私の編集した反応を見てください。 – cereallarceny

+1

@michaelmcgurkを助けることができましたか?もしそうなら、私の答えを正しいものにして、将来他の人に役立つようにしてください! – cereallarceny