让文本或图片在div容器中垂直居中

相信很多朋友在做页面的时候,都会遇到这个问题,而大多数的解决办法不是利用table,就是利用margin,padding属性来达到这种效果。

这个情况是在老外的网上看到的。

Html代码

<div id="outer">
  <div id="middle">
    <div id="inner">
      any text
      any height
      any content, for example generated from DB
      everything is vertically centered
    </div>
  </div>
</div>

样式表

#outer {height: 400px; overflow: hidden; position: relative;}
#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%} /* for explorer only */
/* optional: #inner[id] {position: static;} */

原文:http://www.student.oulu.fi/~laurirai/www/css/middle/

blueidea上也有详尽的解析:http://www.blueidea.com/bbs/newsdetail.asp?id=2464346&posts=current

你可能感兴趣的:(让文本或图片在div容器中垂直居中)