我有一個需要居中水平和垂直背景圖片的div。除此之外,我還想顯示1行文字,也是水平和垂直居中。html中的水平和垂直居中文本
我設法讓圖像居中,但文字不是垂直居中。我認爲vertical-align:middle會做到這一點。
下面的代碼,我有:
<div style="background: url('background.png') no-repeat center; width:100%; height:100%; text-align:center;">
<div style="color:#ffffff; text-align: center; vertical-align:middle;" >
Some text here.
</div>
</div>
任何想法?
解決方法:我實際上是通過使用表來獲得此功能的。 (我可能會被HTML社區詛咒到底下)。有什麼重要的理由不使用這個btw?儘管如此,我仍然對使用div的解決方案感興趣。
<table width="100%" height="100%">
<tr>
<td align="center" style="background: url('background.png') no-repeat center; color:#ffffff;">Some text here.</td>
</tr>
</table>
任何東西的使用表,是不是表格數據具有觸發可訪問的*聲譽*的問題。但是,只有當表內容在* linearization *中斷時纔會觸發這些問題。 測試線性化有一個技巧:添加'table,tr,td {display:block; }'測試CSS表格:如果內容仍然可用/可讀(儘管佈局中斷),表格序列化正常;如果它完全無法使用,輔助技術將無法解析您的桌子。在單細胞表的情況下,線性化不會被破壞,所以你應該沒問題。 – 2010-03-29 11:26:11
@Christophe Herreman:「有什麼重要的理由不使用這個順便說一句嗎?」在我看來,不,在這種情況下沒有一個重要原因不使用表格,除了解決問題時的自動滿足。對於這個特定的任務,使用表甚至可能是更多的跨瀏覽器解決方案,而不是使用CSS。 – 2010-03-29 16:14:37
@Marco Demaio有一個重要的原因。那些視覺障礙者和使用屏幕閱讀器的人不易接近。 – ghoppe 2010-05-18 14:06:14