当父容器没设置高度时,可以设定 padding: 10px 0实现子元素的垂直居中
若设置了高度,有以下解决方案
利用table特性
table-cell
如果不允许使用table标签,必须使用div,可以将父级元素display改为table,子元素外层包裹一个div,display设置为table-cell,使用vertical-align: middle设置为垂直居中
添加before、after伪元素
利用vertical-align: middle实现,使用两个伪元素是为了保证水平居中
绝对定位
margin-top为负自身高度的一半
如果子元素宽度高度确定,可以使用以下方法
margin:auto
如果子元素宽度高度确定,可以使用以下方法
transform
不确定宽高,使用平移
flex布局
最简单的实现方式,justify-content和align-items设置为center