css多种方法实现已知宽度和未知宽度的元素水平垂直居中

// html

<div class="box-wrapper">
    <div class="box">
        内部box
        <p>更多内容</p>
    </div>
</div>

//css
.box-wrapper{
    width: 100%;
height: 300px; border: 1px solid #f00;
.box{
background-color: #0f0;
}
}

1、已知box宽高

.box-wrapper{
    position: relative;
.box{ position: absolute; top:
50%; left: 50%;
width: 200px;
height: 100px; margin
-top: -50px; margin-left: -100px; } }

2、未知box宽高

.box-wrapper{
    position: relative;
    .box{
         position: absolute;
         top: 50%;
         left: 50%;
         transform: translate(-50%, -50%);
    }
}

3、未知box宽高

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

4、未知box宽高, 内容垂直居中

.box-wrapper {
  display: table-cell;
vertical-align: middle;
width: 400px;
text-align: center;
.box{
display: inline-block;
}
}

 

posted @ 2018-11-20 17:06  pei~乐悠悠  阅读(1415)  评论(0编辑  收藏  举报