除了利用js来实现div的垂直水平居中,还有其他方法吗?如何直接利用css来实现div盒子垂直水平居中?网上有很多种方法,这里只给大家推荐两种最通俗易懂的方案。
一、利用边距相互抵消,一正一负
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>css实现div居中显示,垂直居中、水平居中</title>
<style type="text/css">
#header {
width: 500px;
height: 300px;
background: #eeeeee;
border: 1px solid red;
position: absolute;
/*left和margin-left配合,一个是一半半分比,一个是负的一半px*/
left: 50%;
top: 50%;
margin-left: -250px;
margin-top: -150px;
}
</style>
</head>
<body>
<div id="header">
我是一个垂直水平居中的DIV
</div>
</body>
</html>
二、利用绝对定位的四个0距离,配合自动margin
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>css实现div居中显示,垂直居中、水平居中</title>
<style type="text/css">
#header {
width: 500px;
height: 300px;
background: #eeeeee;
border: 1px solid red;
position: absolute;
/*利用绝对定位的四个距离,都规定为0,再配合margin自动边距*/
left: 0;
top: 0;
right: 0;
bottom: 0;
margin: auto;
}
</style>
</head>
<body>
<div id="header">
我是一个垂直水平居中的DIV
</div>
</body>
</html>
评论