CSS教程之div垂直居中的多种方法

2020-05-01 09:50:31易采站长站整理

 background-color:#FFCCFF;      
 width:760px;      
}     
  

XML/HTML Code复制内容到剪贴板

<!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 {   
  height:400px;   
  display:table;   
 }   
 div#content {   
  vertical-align:middle;   
  display:table-cell;   
  border:1px solid #FF0099;   
  background-color:#FFCCFF;   
  width:760px;   
 }   
  </style>  
 </head>  
 <body>  
 <div id="wrap">  
  <div id="content"><pre>现在我们要使这段文字垂直居中显示! Webjx.Com    
 div#wrap {   
  height:400px;   
  display:table;   
 }   
 div#content {   
  vertical-align:middle;   
  display:table-cell;   
  border:1px solid #FF0099;   
  background-color:#FFCCFF;   
  width:760px;   
 }   
</pre></div>  
</div>  
 </body>  
</html>  
  

这个方法应该是很理想了,但是不幸的是Internet Explorer 6 并不能正确地理解display:table和display:table-cell,因此这种方法在Internet Explorer 6及以下的版本中是无效的。嗯,这让人很郁闷!不过我们还其它的办法

四、在Internet Explorer中的解决方案

在Internet Explorer 6及以下版本中,在高度的计算上存在着缺陷的。在Internet Explorer 6中对父元素进行定位后,如果再对子元素进行百分比计算时,计算的基础似乎是有继承性的(如果定位的数值是绝对数值没有这个问题,但是使用百分比计算的基础将不再是该元素的高度,而从父元素继承来的定位高度)。例如,我们有下面这样一个(X)HTML代码段: