惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
WordPress大学
WordPress大学
博客园 - 【当耐特】
The Cloudflare Blog
B
Blog
Last Week in AI
Last Week in AI
小众软件
小众软件
量子位
S
SegmentFault 最新的问题
V
Visual Studio Blog
博客园 - 叶小钗
美团技术团队
阮一峰的网络日志
阮一峰的网络日志
Hugging Face - Blog
Hugging Face - Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
宝玉的分享
宝玉的分享
A
About on SuperTechFans
雷峰网
雷峰网
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
腾讯CDC
MongoDB | Blog
MongoDB | Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Martin Fowler
Martin Fowler

博客园 - 海潮的博客

用DOS命令安装删除服务 - 海潮的博客 - 博客园 安装好PHP之后一般要找到php安装目录,修改php.ini中的时区设置 让Serv-u 9永远停留在30天试用的方法 请问SharePoint高手,怎样开发一个类似查阅项的字段类型?(无奈求助,请保留一两天) Static Ip on Windows PE 2 查看windows端口的使用 (抄录的) 不得不在这里求助了,NBear是不是没有TableAttribute属性了? vista 下安装了 vs2005及vs2005 sp1,但是还是出现“要运行 visual studio 2005 sp1,建议使用管理员权限” 解决ajax.net 1.0中文乱码问题! 一个上传大文件的部件叫做:SlickUpload-2.5.3 删除重复记录的办法 未知大小图片在已知容器中的垂直和水平居中问题 安装 Atlas 时遇到一个小问题 我儿子 如何在本机上开发支持二级域名的.NET系统 二级域名共享cookies Cookie 支持二级域名和FormsAuthentication 加强版 ASP.NET中实现二级或多级域名(修改UrlRewrite) 一个图片轮换效果的JS
CSS解决未知高度垂直居中的问题
海潮的博客 · 2006-09-20 · via 博客园 - 海潮的博客

原文标题:Vertical Centering in CSS

副标题:Yuhu's Definitive Solution with Unknown Height

翻译:forestgan

尽管有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通过。

2006-08-22 修改

上面的代码不支持IE7,还需要在最下面加二句:

*+html #outer[id]{position: relative;}
*+html #middle[id]{position: absolute; }