我的模板中有三行主div。我有一個標題,一個內容包裝器和一個頁腳。標題對齊頂部和頁腳對底部。我在兩者之間有一個內容包裝div。我基本上想要在兩個div中垂直居中內容包裝。內容div始終是動態高度,因此行高度方法對我無效。什麼是我用這個最好的方法?如何垂直對齊頁眉和頁腳div之間的內容div?
回答
垂直居中內容
在不使用JavaScript,有方式有限數量的垂直居中動態內容:
在這樣的情況下,現代的方法是使用CSS的表,這等同於HTML表格。但是,如果需要支持IE7或更早版本,請改用HTML表格。在這種特殊情況下,Flexbox並不適合,IE9及更早版本不支持。 CSS網格目前僅支持IE10,並且該標準尚未最終確定。
CSS表的基本用法是:
HTML
<div class="table">
<div class="row">
<div class="cell">Content</div>
</div>
</div>
CSS
.table {display: table;}
.row {display: table-row;}
.cell {display: table-cell;}
演示 (在測試:IE8/9/10, FF,Chrome,Safari,Opera)
HTML表格和CSS表之間進行選擇
對於表格數據(例如,數據的網格),有利於使用HTML表格 。在這種情況下,它在語義上更加正確,並且可以更容易地理解源代碼的性質,這可能有助於訪問和搜索引擎優化(以及代碼的可維護性)。
對於非表格數據(例如,總體佈置),有利於使用CSS表格(如果浮紗和CSS定位是不夠的)。它在語義上更加正確,因爲HTML表格的使用創造了對錶格數據的期望,並且屏幕閱讀器和搜索引擎可能不那麼令人困惑。佈局的具體用途包括垂直居中的內容和等高的列。
CSS表格優於HTML表格的一個特殊優點是支持visibility:collapse
,它允許摺疊行或列(某些不能用HTML表格執行的操作)。如果表格數據需要該特定功能,請使用CSS表格。
您可以使用下面的代碼做到這一點: -
<div> using display:table-cell; vertical-align:middle
所有做的是它重新排列我的內容div到左側,它取消了它的寬度。 – ShoeLace1291 2013-03-04 06:11:32
這是不是一個完整的CSS代碼,你必須添加其他的CSS代碼,上述代碼只有證明中心的內容不是其他任何其他 – Chase1986 2013-03-04 06:19:02
@ ShoeLace1291:'display:table-cell'是現代瀏覽器的首選方法。 @ Chase1986:+1用於在正確的方向上操控事物。 – 2013-03-04 17:21:48
保存自己的一些痛苦和剛剛突破出來爲三個單獨的容器。
#header {
width:1000px; /* or what ever width you need */
margin-left:auto;
margin-right:auto;
clear:both;
overflow:hidden;
}
#content{
width:1000px; /* or what ever width you need */
margin-left:auto;
margin-right:auto;
clear:both;
overflow:hidden;
}
#footer{
width:1000px; /* or what ever width you need */
margin-left:auto;
margin-right:auto;
clear:both;
overflow:hidden;
}
<div id="header">test</div>
<div id="content">test</div>
<div id="footer">test</div>
溢出隱藏屬性將使一個div自動展開,顯示被添加到它的任何額外的內容..使它更像一個表格單元格。
下面是一個例子enter link description here
這涉及水平居中,但問題是垂直居中頁面上的主要內容。 – 2013-03-04 17:24:57
垂直居中div的內容可能會變得棘手,因爲沒有簡單的方法來完成它,就像使用表格單元格一樣。你可以將你的內容包裝在一個子div中,然後使用margin-top。 http://jsfiddle.net/FKnpM/2/ – 2013-03-04 17:48:38
從歷史上來說,是的,但在現代瀏覽器中,CSS表格佈局提供了一種簡單的方法來使用div來完成此操作。請參閱我發佈的附加信息。 – 2013-03-04 17:52:08
- 1. 頁眉和頁腳之間的垂直中心內容
- 2. 我怎麼垂直對齊的div左,中,頁眉和頁腳DIV之間的權利
- 3. 引導3容器垂直對齊中心,頁眉和頁腳
- 4. 垂直對齊頁腳內容
- 5. 如何居中和垂直對齊頁面中的div中間?
- 6. 垂直對齊div的內容
- 7. 垂直對齊div中的內容
- 8. 垂直對齊表內的容器div
- 9. 內容之間的頁眉/頁腳
- 10. 集裝箱垂直居中對齊考慮頁眉和頁腳
- 11. 垂直對齊中間的div的div
- 12. CSS - 垂直對齊DIV內容
- 13. 帶頁眉和頁腳以及100%內容的網頁div
- 14. Div在gwt頁面垂直對齊
- 15. 適合頁眉和頁腳之間的中間div
- 16. 如何垂直對齊div?
- 17. 如何垂直對齊div?
- 18. 如何垂直對齊div中的div?
- 19. 粘性頁眉和頁腳垂直排列內容到中心
- 20. 如何在頁眉和頁腳之間填充空的垂直空間
- 21. 如何在中間垂直對齊div?
- 22. 如何垂直和水平對齊另一個div內的div?
- 23. 頁眉和頁腳的div中的內容
- 24. 頁面內容的垂直對齊
- 25. 垂直對齊div
- 26. 垂直對齊DIV
- 27. 頁眉和頁腳之間的div大小問題
- 28. 頁眉和頁腳之間的100%高度div
- 29. 頁眉和頁腳之間的伸展div
- 30. 內容佔用頁眉和頁腳之間的所有空間
相關問題:http://stackoverflow.com/questions/5004665 – 2013-03-04 17:28:48