CSS解决未知高度垂直居中

十二月 15, 2009 by zeze · Leave a Comment   

HTML

<div id=”outer”>
  <div id=”middle”>
    <div id=”inner”>CSS解决未知高度垂直居中</div>
  </div>
 </div>

CSS

<style type=”text/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: #fff;}
  *+html #outer[id] {position: relative;} /* for IE7 */
  *+html #middle[id] {position: absolute;} /* for IE7 */
–></style>

支持上下左右垂直居中,但!DOCTYPE声明为:

“<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>”

老的的声明:“<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>”

测试会出现上下居中,左右就不会居中了,呵呵。我用过好几次居中案例,忘记声明更改,老出问题。希望注意。

相关文章


About zeze

Comments are closed.