css水平垂直居中对齐方法汇总(实测有用)
我们在前端页面布局工作中,经常会用到css水平居中和css垂直居中对齐,关于css水平居中的方法,可以看下已往文章《常见css布局水平居中的6种方法》,今天这篇文章是css水平垂直居中对齐方法汇总整理。
0.效果演示(垂直居中对齐,同时也水平居中对齐)

1.方法:css3弹性布局flex,使用率极高
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>css3弹性布局flex水平垂直居中</title>
<style type="text/css">
.box{
width:300px;
height:300px;
background: #0000EE;
display: flex;
align-items: center;
justify-content: center;
}
.box .son{
width:100px;
height:100px;
line-height: 100px;
background-color: red;
}
</style>
</head>
<body>
<div class="box">
<div class="son">我是儿子盒子</div>
</div>
</body>
</html>2.方法:绝对定位+transform
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>绝对定位+transform水平垂直居中</title>
<style type="text/css">
.box{
width:300px;
height:300px;
background: #0000EE;
position: relative;
}
.box .son{
width:100px;
height:100px;
margin: 0 auto;
line-height: 100px;
background-color: red;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
</style>
</head>
<body>
<div class="box">
<div class="son">我是儿子盒子</div>
</div>
</body>
</html>3.方法:绝对定位+margin:auto
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>绝对定位+margin水平垂直居中</title>
<style type="text/css">
.box{
width:300px;
height:300px;
background: #0000EE;
position: relative;
}
.box .son{
width:100px;
height:100px;
margin: auto;
line-height: 100px;
background-color: red;
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
}
</style>
</head>
<body>
<div class="box">
<div class="son">我是儿子盒子</div>
</div>
</body>
</html>4.方法:box-alignand+box-pack(IE就飘过)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>box-align+box-pack水平垂直居中</title>
<style type="text/css">
.box{
width:300px;
height:300px;
background: #0000EE;
position: relative;
top: 0; left: 0; right: 0; bottom: 0;
display: -webkit-box;
-webkit-box-align: center;
-webkit-box-pack: center;
}
.box .son{
width:100px;
height:100px;
line-height: 100px;
background-color: red;
-webkit-box-flex: 0;
}
</style>
</head>
<body>
<div class="box">
<div class="son">我是儿子盒子</div>
</div>
</body>
</html>5.方法:绝对定位+maring偏移
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>绝对定位+maring偏移水平垂直居中</title>
<style type="text/css">
.box{
width:300px;
height:300px;
background: #0000EE;
position: relative;
}
.box .son{
width:100px;
height:100px;
line-height: 100px;
background-color: red;
margin:auto;
position:absolute;
left:50%;
top:50%;
margin-left: -50px;
margin-top:-50px;
}
</style>
</head>
<body>
<div class="box">
<div class="son">我是儿子盒子</div>
</div>
</body>
</html>6.方法:table-cell+vertical-align
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>绝对定位+maring偏移水平垂直居中</title>
<style type="text/css">
.box{
width:300px;
height:300px;
background: #0000EE;
display:table-cell;
vertical-align:middle;
text-align: center;
}
.box .son{
width:100px;
height:100px;
line-height: 100px;
background-color: red;
display:inline-block;
}
</style>
</head>
<body>
<div class="box">
<div class="son">我是儿子盒子</div>
</div>
</body>
</html>除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址:https://tangjiusheng.cn/divcss/207.html
原文地址:https://tangjiusheng.cn/divcss/207.html
