我用的三种方法,当然常用的还是通过弹性盒来实现,一般用于移动端的时候,另外两种也可以,但在移动端使用弹性盒更方便,直接上代码了。
<!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>
.box {
width: 100px;
height: 100px;
border: 1px solid #000;
position: absolute; /* 绝对定位 */
top: 50%;
left: 50%;
margin-top: -50px; //设置为其高一般的负值
margin-left: -50px; //设置为其宽一般的负值
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
<!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>
.box {
width: 100px;
height: 100px;
border: 1px solid #000;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
弹性盒
<!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>
.box {
width: 200px;
height: 200px;
border: 1px solid #000;
display: flex; /* 父元素设置为弹性盒 */
align-items: center; /* 垂直居中 */
justify-content: center; /* 水平居中 */
}
.box-z {
width: 100px;
height: 100px;
border: 1px solid #000;
}
</style>
</head>
<body>
<div class="box">
<div class="box-z"></div>
</div>
</body>
</html>