水平居中

margin: 0 auto;

水平垂直居中

元素宽高固定, absolute定位, margin: 0 auto 结合 top/left
元素宽高不固定, absolute定位, transform: translate(-50%, -50%) 结合 top/left
宽高由元素撑开
元素宽高不固定, flex定位, 父元素水平方向 justify-content: center, 垂直方向 align-items: center
元素撑开
借助 table-cell 可以设置垂直方向上的排列方式vertical-align特性
元素宽度需指定,table定位, 必须三级定位, 父元素 display: table, 二层元素 display: table-cell; vertical-align: middle, 子元素 margin: 0 auto
宽高由元素撑开