1./*父元素设置relative*/ /*子元素设置absolute,上下左右位置都为0,margin:auto*/
2./*父元素设置relative*/ /*子元素设置absolute, 上50%;左50%;margin-top:自己高度的一半;margin-left:自己宽度的一半;*/
3./*父元素设置relative*/ /*子元素设置absolute,上50%,左50%,transform:translate(-50%,-50%)*/
4./*父元素设置display:flex;justify-content:center;align-items:center*/ /*子元素定高定宽,放不下时,宽度会压缩*/
5./*父元素设置display:table */ 子元素设置display:table-cell;vertical-align:middle;text-align:center;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>水平垂直居中DIV</title>
<link rel="stylesheet" href="">
</head>
<style>
.out1{
position: relative;/*父元素设置relative*/
width: 1000px;
height:250px;
margin:0 auto;
margin-top: 30px;
border: 1px solid #000;
}
.middle1{
width: 200px;
height: 200px;
background: red;
position:absolute;/*子元素设置absolute*/
left:0;/*上下左右位置都为0*/
top: 0;
bottom: 0;
right: 0;
margin: auto;/*margin:auto*/
}
/*----------------------------*/
.out2{
position: relative;/*父元素设置relative*/
width: 1000px;
height:250px;
margin:0 auto;
margin-top: 30px;
border: 1px solid #000;
}
.middle2{
width: 200px;
height: 200px;
background: red;
position:absolute;/*子元素设置absolute*/
left:50%;/*上50%;左50%;margin-top:自己高度的一半;margin-left:自己宽度的一半;*/
top: 50%;
margin-left:-100px;
margin-top: -100px;
}
/*----------------------------*/
.out3{
position: relative;/*父元素设置relative*/
width: 1000px;
height:250px;
margin:0 auto;
margin-top: 30px;
border: 1px solid #000;
}
.middle3{
width: 200px;
height: 200px;
background: red;
position:absolute;/*子元素设置absolute*/
left:50%;/*上50%;左50%;transform: translate(-50%,-50%);*/
top: 50%;
transform: translate(-50%,-50%);
}
/*----------------------------*/
.out4{
width: 1000px;
height:250px;
margin:0 auto;
margin-top: 30px;
border: 1px solid #000;
display: flex;
justify-content: center;
align-items: center;
}
.middle4{
width: 200px;
height: 200px;
margin:0 10px;
background: red;
}
/*----------------------------*/
.out5{
display: table;/*父元素 display:table*/
width: 1000px;
height:250px;
margin:0 auto;
margin-top: 30px;
border: 1px solid #000;
}
.middle5{
display: table-cell;/*子元素设置 display: table-cell;text-align: center;vertical-align: middle;*/
text-align: center;
vertical-align: middle;
width: 200px;
height: 200px;
padding: 10px;
}
.middle5 div{
background: red;
height: 180px;
}
</style>
<body>
<div>方法一</div>
<div class="out1">
<div class="middle1"></div>
</div>
<div>方法二</div>
<div class="out2">
<div class="middle2"></div>
</div>
<div>方法三</div>
<div class="out3">
<div class="middle3">IE8不支持</div>
</div>
<div>方法四</div>
<div class="out4">
<div class="middle4">flex</div>
<div class="middle4">flex</div>
<div class="middle4">flex</div>
</div>
<div>方法五</div>
<div class="out5">
<div class="middle5">
<div>table-cell</div>
</div>
<div class="middle5">
<div>table-cell</div>
</div>
<div class="middle5">
<div>table-cell</div>
</div>
<div class="middle5">
<div>table-cell</div>
</div>
</div>
</body>
<script>
</script>
</html>
版权声明:本文为qq_41909079原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。