方法一:
绝对定位法:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#d1{
width: 50%;
height: 50%;
background: pink;
position: absolute;
left: 25%;
top:25%;
}
</style>
</head>
<body>
<div id="d1"></div>
</body>
</html>
方法二:
使用变形transform和位移translate(50%,50%);
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>transform</title>
</head>
<style>
#d1{
background: white;
height:100vh;
}
#d2{
width: 50%;
height: 50%;
background: pink;
/* d2在x轴,y轴位移 */
transform: translate(50%,50%);
}
</style>
<body>
<div id="d1">
<div id="d2"></div>
</div>
</body>
</html>
方法三:
使用flex弹性布局
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>flex</title>
</head>
<style>
*{
margin: 0;
padding: 0;
}
#d1{
display: flex;
/* 主轴中心对齐 */
justify-content: center;
/* 交叉轴中心对齐 */
align-items: center;
background-color:white;
height:100vh;
}
#d2{
width: 50%;
height: 50%;
background-color: pink;
}
</style>
<body>
<div id="d1">
<div id="d2"></div>
</div>
</body>
</html>
方法四:
固定定位:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>position</title>
</head>
<style>
*{
margin: 0;
padding: 0;
}
#father{
background: black;
position:fixed;
left:0;
right:0;
top:0;
bottom:0;
}
#d2{
width: 50%;
height: 50%;
position:fixed;
background: pink;
margin:auto;
left:0;
right:0;
top:0;
bottom:0;
}
</style>
<body>
<div id="d1">
<div id="d2"></div>
</div>
</body>
</html>