絕對定位居中(Absolute Centering)技術
我們經常用margin:0 auto來實現水平居中,而一直認為margin:auto不能實現垂直居中…實際上,實作垂直居中只需要宣告元素高度和下面的CSS:
.Absolute-Center { margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; }
優點:
1.支援跨瀏覽器,包括IE8-IE10.
2.無需其他特殊標記,CSS代碼量少
3.支援百分比%屬性值和min-/max-屬性
4.只用這一類可實現任何內容塊居中
5.不論是否設定padding都可居中(在不使用box-sizing屬性的前提下)
6.內容塊可以被重繪。
7.完美支持圖片居中。
缺點:
1.必須宣告高度(查看可變高度Variable Height)。
2.建議設定overflow:auto來防止內容越界溢出。 (查看溢出Overflow)。
3.在Windows Phone裝置上不起作用。
瀏覽器相容性:
Chrome,Firefox, Safari, Mobile Safari, IE8-10.
絕對定位方法在最新版的Chrome,Firefox, Safari, Mobile Safari, IE8-10.上均測試通過。
比較表:
絕對居中法並不是唯一的實作方法,實現垂直居中還有些其他的方法,並各有各的優勢。採用哪種技術取決於你的瀏覽器是否支援和你使用的語言標記。這個對照表有助於你根據自己的需求做出正確的選擇。
Technique |
Browser Support |
#Responsive |
Overflow |
resize:both |
#Variable Height |
#Variable Height |
##Absolute Centering |
#Modern & IE8+ |
#Yes |
#Scroll, can overflow container Yes |
|||
Variable Height | not
perfect cross-browser
#Negative Margins |
All |
#No |
Scroll |
||
Resizes but doesn't stay centeredNo |
Not responsive, margins must be calculated manually |
Transforms |
#Modern & IE9+ |
################################################################################################################################### #######Yes##################Scroll, can overflow container#################Yes ##################Yes###### |
Blurry rendering |
|
Table-Cell |
Modern & IE8+ |
Yes |
Expands container |
#No |
| Yes|
Extra markup |
##Inline-Block |
#Modern, IE8+ & IE7* |
#Yes |
#Expands container |
##No |
Yes |
#Requires container, hacky styles |
#Flexbox
|
Modern & IE10+ |
#Yes |
Scroll, can overflow container |
Yes |
Yes |
以上是css絕對定位居中技術優缺點圖表詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!