总结使用CSS实现垂直居中的方式

99 阅读1分钟

当父容器没设置高度时,可以设定 padding: 10px 0实现子元素的垂直居中

若设置了高度,有以下解决方案

利用table特性

codepen.io/AmberWANGDM…

table-cell

如果不允许使用table标签,必须使用div,可以将父级元素display改为table,子元素外层包裹一个div,display设置为table-cell,使用vertical-align: middle设置为垂直居中

codepen.io/AmberWANGDM…

添加before、after伪元素

利用vertical-align: middle实现,使用两个伪元素是为了保证水平居中

codepen.io/AmberWANGDM…

绝对定位

margin-top为负自身高度的一半

如果子元素宽度高度确定,可以使用以下方法

codepen.io/AmberWANGDM…

margin:auto

如果子元素宽度高度确定,可以使用以下方法

codepen.io/AmberWANGDM…

transform

不确定宽高,使用平移

codepen.io/AmberWANGDM…

flex布局

最简单的实现方式,justify-content和align-items设置为center

codepen.io/AmberWANGDM…