如何将一个绝对定位的div水平垂直居中对齐

如何将一个绝对定位的div垂直居中对齐:
建议:尽可能的手写代码,可以有效的提高学习效率和深度。

在某些时候可能需要将一个绝对定位的div在它的父对象中垂直居中对齐,可能用到的频率不是太高,但是偶尔也会用到,下面就简单介绍一下如何实现此功能。在通常情况下,可以为元素添加margin:0px auto即可让元素在它的父元素水平居中,然后再将它设置为垂直居中对齐即可。但是为绝对定位的对象添加margin:0px auto并不能生效,所以说还是要用老办法实现。
代码示例如下:

 

<!DOCTYPE html> 
<html> 
<head> 
<meta charset=" utf-8"> 
<meta name="author" content="http://www.softwhy.com/" /> 
<title>蚂蚁部落</title>  
<style type="text/css">  
.father  
{  
  width:600px;  
  height:600px;  
  background-color:green;  
  margin:0px auto;  
  position:relative;  
}  
.children  
{  
  position:absolute;  
  width:200px;  
  height:200px;  
  left:200px;  
  top:200px;  
  background-color:red;  
}  
</style>  
</head>  
<body>  
 <div class="father">  
  <div class="children"></div>  
 </div>  
</body>  
</html>

 

以上代码可以将子div在父div中水平垂直居中对齐,下面就简单介绍一下几个要点:
1.父元素是使用相对定位,这样子元素就可以以它作为位移参考对象。具体可以参阅
CSS的绝对定位
2.top属性值计算方式:父元素的高度/2-子元素高度/2,left属性值计算方式:父元素宽度值/2-子元素宽度值/2。

 

你可能感兴趣的:(垂直居中)