你好,欢迎访问远方教程PC版!
广告位招租

CSS网页布局:div垂直居中的各种方法(第5页)

[日期:2015-03-03]   来源:远方教程  作者:远方教程   阅读:7072次[字体: ] 访问[旧版]
 捐赠远方教程 

  五、完美的解决方案
  那么我们综合上面两种方法就可以得到一个完美的解决方案,不过这要用到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,虽然同是居中但关键字不同。

图片展示
 
相关评论
站长推荐