0%
CSS 垂直居中
想要实现的效果
基础代码
html
<div class="out">
<div class="in"></div>
</div>
css
.out {
width: 200px;
height: 200px;
background-color: #34537c;
}
.in {
width: 100px;
height: 100px;
background-color: gold;
}
使用 flex 布局
css
.out {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
使用 grid 布局
css
.out {
display: grid;
place-items: center;
}
使用绝对定位
css
.out {
position: relative;
}
.in {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
使用盒模型
margin: auto;
可以水平居中,table-cell
可以垂直居中。
css
.out {
display: table-cell;
vertical-align: middle;
}
.in {
margin: auto;
}
文字居中:使用 line-height
将 line-height
设置为和 height
相同的值即可垂直居中,然后 text-align: center;
可以水平居中。
适用于固定高度的情况。
文字垂直居中
html
<div class="text-center">
文字垂直居中
</div>
css
.text-center {
width: 300px;
height: 200px;
background-color: #34537c;
color: white;
line-height: 200px;
text-align: center;
}