实现元素垂直居中的方法

  如题,如何垂直居中一个元素,这里分为两种情况:要居中的元素已知大小、要居中的元素width, height未知。

1、要居中的元素已知大小

示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
#parent{
width:600px;
height:600px;
background:#ddd;
position:relative;
}
#son{
width: 300px;
height: 300px;
background-color:lightgreen;
position: absolute;
top: 50%;
left: 50%;
margin-top:-150px; /*二分之一的width和height,把元素往回拉*/
margin-left:-150px;
}
</style>
</head>
<body>
<div id="parent">
<div id="son"></div>
</div>
</body>
</html>

2、要居中的元素width, height未知

示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
#parent{
width:600px;
height:600px;
background:#ddd;
position:relative;
}
#son{
max-width:40%;
max-height:50%;
background-color:green;
margin:auto;
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
</style>
</head>
<body>
<div id="parent">
<div id="son">
<p>高度,宽度未知的div元素</p>
<p>测试文本:Lorem ipsum dolor sit amet, consectetur adipisicing elit. </p>
</div>
</div>
</body>
</html>

这是我目前的做法,不足之处还望大家指出。

posted on 2017-07-31 22:13  高辛戊  阅读(219)  评论(0编辑  收藏  举报

导航

本博客的文章如无特殊说明,均为原创,转载请注明出处。如未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。