登陆 | 免费注册(只需一分钟) | 会员中心

聚宝网   购物专题 基金专题 性专题 饮食专题 教育专题 生活大参考 园林资讯 园艺库 健康专题
  论文专题 家庭养花 园林景观 盆景奇石 激情图库 农业资料库 园林古建 英文站 花卉栽培

聚宝网免费为您提供 最新IT资讯

 

首页 > 网页设计 > Css
在未知高度的容器内(div)如何实现垂直居中
时间:2007-06-17  www.jubao163.com  来源: 不详

  虽然CSS中有vertical-align属性,但是并不能有效解决在未知高度的div中的垂直居中问题(在一个div容器里有未知高度的文本或图片的情况下)。

  标准浏览器如Mozilla,Opera等,可将父级元素显示方式设定为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>
上面的代码可以有效解决在未知高度的容器内(div)垂直居中的问题。




推荐文章
联盟网站

浙ICP备 :07003766号 Copyright © 2001-2007 JUBAO163,All rights reserved.