CSS解决未知高度垂直居中的问题

尽管有CSS的vertical-align特性,但是并不能有效解决未知高度的垂直居中问题(在一个DIV标签里有未知高度的文本或图片的情况下)。

标准浏览器如Mozilla, Opera, Safari等.,可将父级元素显示方式设定为TABLE(display: table;) ,内部子元素定为table-cell (display: table-cell),通过vertical-align特性使其垂直居中,但非标准浏览器是不支持的。

非标准浏览器只能在子元素里设距顶部50%,里面再套个元素距顶部-50% 来抵消。

CSS:
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]


XHTML:
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]


以上CSS代码的优点是没有hacks,采用了IE不支持的CSS2选择器#value[id]。

CSS2选择器#value[id]相当于选择器#value,但是Internet Explorer不支持这种类型的选择器。同样地.value[class],相当于.value,这些只有标准浏览器能读懂。

测试:Firefox1.5、Opera9.0、IE6.0、IE5.0通过。

[本日志由 admin 于 2006-08-05 04:26 PM 编辑]
上一篇: CSS布局基础--水平和垂直居中
下一篇: Div+CSS布局入门教程
文章来自: ieidea
引用通告: 查看所有引用 | 我要引用此文章
Tags: CSS
相关日志:
评论: 0 | 引用: 1 | 查看次数: 5959