2010-11-11 58 views
3

我正在嘗試實現某些功能,但無法做到這一點。集成在DIV中的CSS文本

我有一個固定高度的股利&寬度。 我希望文字垂直居中。

到目前爲止我設法這樣做:

<div> 
    <a>this is a long text</a> 
</div> 

,它看起來像這樣

------------- 
This is a long 
    text 
------------- 

這是偉大的

但如果行不會換它會看起來像這樣

------------ 
This is short 

------------- 

.the-div 
{ 
height:29px; 
line-height:14px !important; 
} 

.the-a 
{ 
font-size:12px; 
} 

我也需要這個值!

我試圖用行高,並與JS玩明白,如果它的包裝與否,然後改變行高相應

感謝您的幫助

+2

您可以發佈您的CSS – 2010-11-11 10:29:20

回答

-2
div a{ 
margin-top:auto; 
margin-bottom:auto; 
} 
+0

沒有工作..... – Himberjack 2010-11-11 10:34:48

+0

怎麼樣自動填充,對於單嗎? – Edmhs 2010-11-11 10:35:56

+0

填充自動將無法正常工作恐怕 – 2010-11-11 10:43:52

2
+0

它只適用於其包裝...如果它的一條線將在頂部 – Himberjack 2010-11-11 10:41:20

+0

不,它仍然可以工作,即使在一條線上。複製所有CSS並注意對身體標記的條件註釋。 – 2010-11-11 10:42:28

+0

我做到了。但唯一的區別是,在這個例子中,它的LI - > SPAN,我有DIV - > ANCHOR – Himberjack 2010-11-11 10:44:31

0
.the-a 
{ 
font-size:12px; 
vertical-align: middle; 
} 
+0

不...沒有工作 – Himberjack 2010-11-11 10:42:55

0

如果你讓行高一樣div的高度,它會自動垂直居中

the-div 
{ 
height:29px; 
line-height:29px !important; 
} 
0

要垂直對齊的話,你會需要使用一些顯示爲表黑客。這將允許你使用vertical-align:middle;,實現我相信你的願望。

Example