爲了垂直對齊動態文本,我使用span
標記和display: table-cell
屬性。它被div
與display: table
屬性包圍,它的工作原理應該如此。在舊版瀏覽器中顯示:表格屬性
但問題是,在舊的Firefox版本中不起作用。不幸的是,我需要支持firefox 7和更高版本。
除了使用真正的html表格之外,是否有簡單的解決方案?
爲了垂直對齊動態文本,我使用span
標記和display: table-cell
屬性。它被div
與display: table
屬性包圍,它的工作原理應該如此。在舊版瀏覽器中顯示:表格屬性
但問題是,在舊的Firefox版本中不起作用。不幸的是,我需要支持firefox 7和更高版本。
除了使用真正的html表格之外,是否有簡單的解決方案?
根據display
屬性的MDN參考,table
通過CSS has been supported since Firefox version 1顯示。你應該沒問題!
display:table-cell
不是全部和全部垂直對齊。垂直對齊仍然可以使用CSS輕鬆實現。
你需要三樣東西:
但是,您需要知道內容容器的確切高度。
div#container {
height:500px;
}
div#paddingDivider {
height:50%;
}
div#contentContainer {
margin:0 auto; /* Centrally align the element */
height:100px; /* Declare the exact height of the element */
margin-top:-50px; /* Position half of the element inside the padding divider */
}
這工作正常時,文本總是相同的高度,但是當你有更長的文本是分裂在幾行它不是垂直居中在父容器中間。 – swolfish 2013-03-06 11:07:20
這就是爲什麼我提到你需要知道容器的確切高度。如果文字不會改變,請指定一個「行高」。你的總高度就是'線高*線數'。如果文本可能發生變化,則需要使用JavaScript來計算內容容器的「外部高度」,並將其「margin-top」屬性設置爲該值的一半。 – 2013-03-06 11:09:19
描述「垂直對齊」? – Liam 2013-03-06 08:53:23
@Liam檢查[MDN參考](https://developer.mozilla.org/en-US/docs/CSS/vertical-align)。 – Barney 2013-03-06 08:55:20
@Barney我在考慮下面詹姆斯的做法。可能有更好的方法去做他想做的事情,但我不知道,因爲我不知道他想做什麼.....如果它不是桌子,它不應該使用桌子佈局! – Liam 2013-03-06 09:10:33