2013-01-24 61 views
0

所以我有一個基本的導航列表欄。但是有些項目有兩行文字。在保持href塊的同時,用雙線垂直居中導航列表?

我想垂直對齊:在文本中間,仍然可以懸停並單擊列表塊。

HTML:

<div class="nav"> 
<ul> 
    <li><a href="/">Home</a></li> 
    <li><a href="/">Some Text</a></li> 
    <li><a href="/">Double<br>Line</a></li> 
    <li><a href="/">Something</a></li> 
</ul> 
</div> 

CSS:

.nav li { 
    float: left; 
} 

.nav a { 
    background: #000; 
    display: block; 
    padding: 10px; 
    text-decoration: none; 
    border-right: 2px solid #fff; 
    font-size: 14px; 
    text-align: center; 
    color: #fff; 
} 
.nav a:hover { 
    background: yellow; 
    color: #000; 
} 

這可能是最好的解釋是:http://jsfiddle.net/ZmpXM/

乾杯

+0

在你撥弄它是垂直對齊到右側中間? – Sowmya

回答

1

這不是動態的,但你可以做到這一點通過增加

height: 34px; 
display: table-cell; 
vertical-align: middle; 

.nav a風格

http://jsfiddle.net/ZmpXM/1/

+0

沒有其他方法可以做到沒有表格單元格嗎?顯然IE7和向下不支持它 –

+0

你可以使用JavaScript/jQuery的 - 只是給一個純CSS的答案。更多關於這裏的css版本:http://stackoverflow.com/questions/5553284/vertically-aligning-text-in-ie7-without-using-table-cell-property –