儘管有 CSS 的 vertical-align 特性,但是並不能有效解決未知高度的垂直居中問題(在一個 DIV 標籤裡有未知高度的文字或圖片的情況下)。
標準瀏覽器如 Mozilla, Opera, Safari 等.,可將父級元素顯示方式設定為 TABLE(display: table;) ,內部子元素定為 table-cell (display: table-cell),通過 vertical-align 特性使其垂直居中,但非標準瀏覽器是不支援的。
非標準瀏覽器只能在子元素裡設距頂部 50% ,裡面再套個元素距頂部 -50% 來抵消。
CSS部分:
body { padding: 0; margin: 0; }
body,html{ height: 100%; }
#outer { height: 100%; overflow: hidden; position: relative; width: 100%; background:ivory; }
#outer[id] { display: table; position: static; }
#middle { position: absolute; top: 50%; } /* for explorer only*/
#middle[id] { display: table-cell; vertical-align: middle; position: static; }
#inner { position: relative; top: -50%; width: 400px; margin: 0 auto; } /* for explorer only */
div.greenBorder { border: 1px solid green; background-color: ivory; }
xhtml部分:
<div id=”outer”>
<div id=”middle”>
<div id=”inner” class=”greenBorder”></div>
</div>
</div>
以上 CSS 程式碼的優點是沒有 hacks,採用了 IE 不支援的 CSS2 選擇器 #value[id] 。
CSS2選擇器 #value[id] 相當於選擇器 #value ,但是 Internet Explorer 不支援這種型別的選擇器。同樣地 .value[class] ,相當於 .value ,這些只有標準瀏覽器能讀懂。
測試:Firefox1.5、Opera9.0、IE6.0、IE5.0通過。
CSS解決未知高度垂直居中
分類: css
本文轉自快樂就好部落格園部落格,原文連結:http://www.cnblogs.com/happyday56/archive/2009/02/06/1385474.html,如需轉載請自行聯絡原作者
相關文章
- CSS未知高度垂直居中CSS
- css實現固定高度及未知高度文字垂直居中的完美解決方案CSS
- 用CSS讓未知高度內容垂直方向居中CSS
- CSS水平垂直居中解決方案CSS
- CSS Tips——未知寬度高度居中對齊CSS
- CSS 垂直居中CSS
- div垂直居中-CSS元素垂直居中方法CSS
- CSS垂直居中和水平居中CSS
- CSS水平居中和垂直居中CSS
- css水平垂直居中CSS
- CSS垂直水平居中CSS
- css如何實現未知寬高div中圖片垂直水平居中效果CSS
- CSS div水平垂直居中效果詳解CSS
- CSS垂直居中方法CSS
- CSS水平居中和垂直居中的方法CSS
- css垂直居中怎麼設定?文字上下居中和圖片垂直居中CSS
- 關於css 的垂直居中CSS
- css水平、垂直居中的方法CSS
- css div全屏水平垂直居中CSS
- CSS按鈕垂直水平居中CSS
- CSS視窗垂直水平居中CSS
- CSS如何將div垂直居中CSS
- CSS垂直居中精華總結CSS
- CSS的垂直居中和水平居中總結CSS
- CSS佈局之水平居中和垂直居中CSS
- css-水平居中、垂直居中(初級篇)CSS
- css面試題實現元素垂直水平居中-包括未知寬高的元素五種回答CSS面試題
- 【CSS三種居中方案全解】CSS水平垂直居中常用方法集結CSS
- 安居客面試題:純css實現未知比例圖片自適應且水平垂直居中面試題CSS
- CSS 文字li元素中垂直居中CSS
- CSS垂直居中的七個方法CSS
- CSS多行文字垂直居中效果CSS
- css 水平垂直居中實現方式CSS
- 5種實現垂直居中cssCSS
- CSS垂直水平完全居中手冊CSS
- 轉載:CSS垂直居中總結CSS
- 老生常談之CSS的垂直居中CSS
- CSS實現垂直居中的問題CSS