多种方式垂直水平居中

Posted 学如逆水行舟,不进则退。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多种方式垂直水平居中相关的知识,希望对你有一定的参考价值。

1. 不需要知道父容器和子容器的具体尺寸

 (1)方法一:margin

 <div class="wrapper">
        <div class="content"></div>
    </div>

 

.wrapper {
    display: table-cell;
    width: 500px;
    height: 500px;
    text-align: center; /*水平居中*/
    border: 1px solid #eee;
    vertical-align: middle; /*图片垂直居中*/
    position: relative;
    
} 
.content {
    width: 200px;
    height: 200px;
    background-color: red;
    margin: auto;
}

 

   (2)方法二:绝对定位 + transform, 应用到了css3知识,需要注意兼容性问题

<div class="wrapper">
        <div class="content"></div>
    </div>

 

.wrapper {
    display: table-cell;
    width: 500px;
    height: 500px;
    text-align: center; /*水平居中*/
    border: 1px solid #eee;
    vertical-align: middle; /*图片垂直居中*/
    position: relative;
    
} 
.content {
    width: 200px;
    height: 200px;
    background-color: red;
    position: absolute;
    left: 50%;
    right: 50%;
   transform: translate(-50%, -50%);
}

 

  (3)flex弹性盒子,应用到了css3知识,需要注意兼容性问题

<div class="wrapper">
        <div class="content"></div>
    </div>

 

 

.wrapper {
    width: 500px;
    height: 500px;
    border: 1px solid #eee;
    display:flex;
    justify-content:center;
    align-items: center;  
} 
.content {
    width: 200px;
    height: 200px;
    background-color: red;
}

 


 

2.已知宽高尺寸

<div class="wrapper">
        <div class="content"></div>
    </div>

 

.wrapper {
    width: 500px;
    height: 500px;
    border: 1px solid #eee;
    position: relative;
} 
.content {
    width: 200px;
    height: 200px;
    background-color: red;
    position: absolute;
    left: 50%;
    top: 50%;
    /*自身宽高一半的负值*/
    margin-left: -100px;
    margin-top: -100px;
}

 

以上是关于多种方式垂直水平居中的主要内容,如果未能解决你的问题,请参考以下文章

转 CSS制作水平垂直居中对齐各种方法总结

垂直水平居中 多种实现

前端面试CSS系列——DIV垂直水平居中

css常用代码片段 (更新中)

CSS垂直水平居中的方式总结

HTML元素水平垂直居中实现方式(每天一个知识点)