• Sitemap
  • Aboat
  • Home
logo
  • 首页
  • 关于
  • 动态
  • 文章
  • 资源
  • 网站
  • 设计
  • 数码
  • 地图
  • 链接
  • FAQ
  • BLOG
网站重构

WEB标准

  • 什么是web标准
  • 使用标准的好处
  • 怎样过渡
  • XHTML基础问答

推荐文章

·解析HTML的增强标记
·图片垂直居中的使用技巧
·display:inline-block的深入...
·w3csites网站
·web 开发技术荟萃
·网页设计师
·新增CSS在线中文手册
·第10天:自适应高度
·第9天:第一个CSS布局实例
·第8天:CSS布局入门
·第7天:CSS入门
·第6天:XHTML代码规范
·第5天:head区的其他设置
·第4天:调用样式表
·第3天:定义语言编码
·第1天:选择什么样的DOCTYPE
·CSS 常用ID,class命名
·CSS代码缩写技巧
·认识CSS中absolute与relativ...
·一个优化css的站点
·网页设计技巧:跨浏览器的CS...
CSS解决未知高度垂直居中的问题
日期:2008-6-9 | 来源:net | 作者:admin | 点击:
  • 字体大小
  • 小
  • 中
  • 大
CSS解决未知高度垂直居中的问题
时间: 2006-8-16 14:53:38 浏览:751 

除特别说明外,本站内容采用创作共用授权署名和非商业用途,请尊重劳动成果。

原文标题: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

 

 

 

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

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

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

  • 浏览工具
  • 新闻评论
  • 打印本文
  • 关闭本页
  • 返回页首

相关资源

·解析HTML的增强标记
·用CSS按比例缩放图片
·图片垂直居中的使用技巧
·display:inline-block的深入理解
·第9天:第一个CSS布局实例
·第8天:CSS布局入门


  • Copyright © 2006 Nooker.com All rights reserved. Best viewed by 1024 * 768 Ie5.0 +
  • 冀ICP备06000114号
  • 城市漫延 Webmaster:Shadow QQ:5128790