CSS中,当父元素宽高已知时,可以使用绝对定位和利用margin负值的方法来让子元素垂直居中,但当父元素高度未知时,该方法就无法使用了。下面讲介绍几种针对父元素高度未知的情况下子元素垂直居中的方法。/...
CSS中,当父元素宽高已知时,可以使用绝对定位和利用margin负值的方法来让子元素垂直居中,但当父元素高度未知时,该方法就无法使用了。
下面讲介绍几种针对父元素高度未知的情况下子元素垂直居中的方法。
/*方法一:利用table-cell属性*/
.parent {
display: table-cell;
vertical-align: middle;
}
/*方法二:利用flex属性*/
.parent {
display: flex;
justify-content: center;
align-items: center;
}
/*方法三:利用伪元素*/
.parent {
position: relative;
}
.child {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
/*以下为伪元素的样式*/
&::before {
content: ';
display: inline-block;
vertical-align: middle;
height: 100%;
}
&::after {
content: ';
display: inline-block;
vertical-align: middle;
height: 100%;
}
} 以上几种方法都可以实现父元素高度未知时子元素的垂直居中,具体选择哪一种方法取决于实际需求和个人习惯。