css:整理9种元素水平垂直居中的方法

实现效果

css:整理9种元素水平垂直居中的方法

容器基础样式

/* 容器基础样式 */
.box-wrap {
    width: 400px;
    height: 400px;
    border: 1px solid #eeeeee;
    margin-top: 20px;
}

.box {
    width: 200px;
    height: 200px;
    background-color: green;
    /* 文字居中 */
    text-align: center;
    color: #ffffff;
    line-height: 200px;
}

1、flex

.box-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}

2、table-cell

.box-wrap {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

.box{
    display: inline-block;
}

3、margin+transform

.box {
    margin: 50% auto;
    transform: translateY(-50%);
}

4、inline-block + vertical-align(没有测试通过)

.box-wrap{
    /*使行内元素或者行内块级元素水平居中*/
    text-align: center;
}

.box {
    display: inline-block;
    vertical-align: middle;
}


5、absolute + margin

.box-wrap {
    position: relative;
}

.box {
    position: absolute;
    left: 50%;
    top: 50%;
    /*  盒子高度的一半 */
    margin-left: -100px;
    margin-top: -100px;
}

6、absolute + margin-auto

.box-wrap {
    position: relative;
}

.box {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

7、absolute + transform

.box-wrap {
    position: relative;
}


.box {
    position: absolute;
    left: 50%;
    top: 50%;
    /*  移动自身的50% */
    transform: translate(-50%, -50%);
}

8、grid + self

.box-wrap {
    display: grid;
}

.box {
    align-self: center;
    justify-self: center;
}

9、grid + items

.box-wrap {
    display: grid;
    place-items: center;
}
上一篇:less11 属性合并


下一篇:【温故而知新-Javascript】使用事件