最常用且最好用的是使用flex布局,设置容器样式:
display: flex;
align-items: center;
justify-content: center;
具体代码如下:
<!DOCTYPE html>
<html>
<head>
<title>水平垂直居中</title>
</head>
<body>
<div id="father">
<div id="son"></div>
</div>
</body>
<style>
#father {
background-color: yellow;
width: 300px;
height: 300px;
display: flex;
align-items: center;
justify-content: center;
}
#son {
width: 100px;
height: 100px;
background-color: red;
}
</style>
</html>
如果只实现水平居中,可以通过设置#son的margin: auto来实现。
对于行内元素,可以通过设置 text-align 和 line-height 实现水平垂直居中。
参考