盒子居中

水平居中

盒子设置宽度并将margin属性设为margin:0 auto

div {
    500px; 
    margin:0 auto;
 }

水平垂直居中

(1)确定容器的宽高 宽500 高 300 的层 设置层的外边距

div {
    position: relative;     /* 相对定位或绝对定位均可 */
    500px; 
    height:300px;
    top: 50%;
    left: 50%;
    margin: -150px 0 0 -250px;      /* 外边距为自身宽高的一半 */
    background-color: pink;     /* 方便看效果 */
 }

(2)未知容器的宽高,利用 `transform` 属性

div {
    position: absolute;     /* 相对定位或绝对定位均可 */
    500px; 
    height:300px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);/*这是应为百分比布局是盒子50%位置对用定位父元素的50%位置。*/
    background-color: pink;     /* 方便看效果 */

}

(3)利用 flex 布局 实际使用时应考虑兼容性

.container {
    display: flex; 
    align-items: center;        /* 垂直居中 */
    justify-content: center;    /* 水平居中 */
}
.container div {
     100px;
    height: 100px;
    background-color: pink;     /* 方便看效果 */
}  
原文地址:https://www.cnblogs.com/microcosm/p/6573883.html