美文网首页
div垂直居中的几种方法

div垂直居中的几种方法

作者: 凯凯_ | 来源:发表于2018-08-08 11:58 被阅读14次

    1. div绝对定位水平垂直居中【margin:auto实现绝对定位元素的居中】

    兼容性:,IE7及之前版本不支持

    div{ width: 200px; height: 200px; background: green; position:absolute;

                left:0;top: 0; bottom: 0;right: 0; margin: auto;}

    2. div绝对定位水平垂直居中【margin 负间距】

    div{ width:200px; height: 200px; background:green;position: absolute;

                left:50%; top:50%;

                margin-left:-100px;margin-top:-100px;}

    3. div绝对定位水平垂直居中【Transforms 变形】

    兼容性:IE8不支持;

    div{ width: 200px; height: 200px; 

     background: green;

    position:absolute;

    left:50%;/* 定位父级的50% */top:50%;

    transform: translate(-50%,-50%);/*自己的50% */ }

    4. css不定宽高水平垂直居中

    .box{ height:600px;

                display:flex;

                justify-content:center;

                align-items:center;              /* aa只要三句话就可以实现不定宽高水平垂直居中。 */        }        

    .box>div{ 

               background: green;

                width: 200px;

                height: 200px;

            }

    5. 将父盒子设置为table-cell元素,可以使用text-align:center和vertical-align:middle实现水平、垂直居中。比较完美的解决方案是利用三层结构模拟父子结构

    /*

    table-cell实现居中

    将父盒子设置为table-cell元素,设置

    text-align:center,vertical-align: middle;

    子盒子设置为inline-block元素

    */

    .tableCell{

      display: table;

    }

    .tableCell .ok{

      display: table-cell;

      text-align: center;

      vertical-align: middle;

    }

    .tableCell .innerBox{

      display: inline-block;

    }

    6. 对子盒子实现绝对定位,利用calc计算位置

    .calc{ position: relative;}

    .calc .innerBox{ position: absolute; 

     left:-webkit-calc((500px - 200px)/2); 

     top:-webkit-calc((120px - 50px)/2); 

     left:-moz-calc((500px - 200px)/2); 

     top:-moz-calc((120px - 50px)/2);

     left:calc((500px - 200px)/2);

     top:calc((120px - 50px)/2);

    }

    相关文章

      网友评论

          本文标题:div垂直居中的几种方法

          本文链接:https://www.haomeiwen.com/subject/cmbtbftx.html