2014-09-05 73 views
1

好吧,所以我想垂直居中在一個或多個行的div內的文本。我設法成功地在一個JSFiddle做到這一點:http://jsfiddle.net/V5uKe/252/在JSFiddle上工作的CSS垂直對齊文本,但不在活網站上?

但由於某種原因,無論我嘗試什麼;這不適用於直播網站。

*問題已解決,因此移除活動網站的鏈接。

當前CSS的方法:

#banner_middle { 
    height: 96px; 
    width: 100%; 
    float: left; 
    line-height: 96px; 
} 
    #banner_middle h5 { 
     display: inline-block; 
     vertical-align: middle; 
     line-height: 13px; 
    } 

當在Chrome直播網站看,相關的元素具有完全相同的CSS。我究竟做錯了什麼?

回答

1

由於您希望它適用於不同數量的行,因此您需要一個動態解決方案。嘗試table/table-cell方法:

#banner_middle { 
    height: 96px; 
    width: 100%; 
    float: left; 
    display: table; 
} 
#banner_middle h5 { 
    display: table-cell; 
    vertical-align: middle; 
} 

無需使用硬編碼line-height值。

+0

請參閱JSFiddle。其中h5的行高爲13px,而不是div的高度。這對實際的垂直對齊沒有影響,只是'h5'的間距。該解決方案考慮到多條線路。 – user3420034 2014-09-05 00:18:47

+0

@ user3420034我的確引用了JSFiddle。試試我發佈的代碼。我在Chrome開發工具中測試過它。有效。 – 2014-09-05 00:19:39

+0

再一次,這隻適用於1行文本。當它進入多個時刻失敗。你現在可以在網站上看到這個。 – user3420034 2014-09-05 00:20:50