CSS html教程: div垂直居中的完美方法

文章来自:http://www.cnblogs.com/chuncn/archive/2008/10/09/1307321.html


五、完美的解决方案

    那么我们综合上面两种方法就可以得到一个完美的解决方案,不过这要用到CSS hack的知识。对于如果使用CSS Hack来区分浏览器,你可

以参考这篇“简单CSS hack:区分IE6、IE7、IE8、Firefox、Opera”: 

div#wrap {   
    display:table;   
    border:1px solid #FF0099;   
 background-color:#FFCCFF;   
 width:760px;   
  height:400px;   
 _position:relative;   
   overflow:hidden;   
}   
div#subwrap {   
    vertical-align:middle;   
    display:table-cell;   
   _position:absolute;   
   _top:50%;   
}   
div#content {   
   _position:relative;   
   _top:-50%;   
}   
    至此,一个完美的居中方案就产生了。 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title> 多行文字实现垂直居中 </title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <style type="text/css">
 body { font-size:12px;font-family:tahoma;}
 div#wrap {
  display:table;
  border:1px solid #FF0099;
  background-color:#FFCCFF;
  width:760px;
  height:400px;
  _position:relative;
  overflow:hidden;
 }
 div#subwrap {
  vertical-align:middle;
  display:table-cell;
  _position:absolute;
  _top:50%;
 }
 div#content { 
  _position:relative;
  _top:-50%;
 }
  </style>
 </head>
 <body>
 <div id="wrap">
  <div id="subwrap">
   <div id="content"><pre>现在我们要使这段文字垂直居中显示!
 div#wrap {
  border:1px solid #FF0099;
  background-color:#FFCCFF;
  width:760px;
  height:500px;
  position:relative;
 }
 div#subwrap {
  position:absolute;
  border:1px solid #000;
  top:50%;
 }
 div#content {
  border:1px solid #000;
  position:relative;
  top:-50%;
 }</pre>
  </div>
 </div>
</div>
 </body>
</html>
     p.s. 垂直居中vertical-align的值是middle,而水平居中align的值是center,虽然同是居中但关键字不同


发表评论请遵守党国法律!后台审核后方可显示!
  • 最新评论
  • 总共0条评论
  • Blog v1.1© 2024 labisart.com 版权所有 | 联系:labartwork@163.com