将一个不定宽高的盒子设置水平垂直居中的六种方法

方案一

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

    div{

            width: 200px;

            height: 200px;

            background: green;

            position:absolute;

            left:0;

            top: 0;

            bottom: 0;

            right: 0;

            margin: auto;

        }

方案二

div绝对定位水平垂直居中【margin 负间距】    这或许是当前最流行的使用方法。

div{

            width:200px;

            height: 200px;

            background:green;

            position: absolute;

            left:50%;

            top:50%;

            margin-left:-100px;

            margin-top:-100px;

        }

方案三

div绝对定位水平垂直居中【Transforms 位移】

div{

            width: 200px;

            height: 200px;

            background: green;

            position:absolute;

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

            top:50%;

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

        }

方案四

flex弹性布局居中

.box{

            height:600px;

            display: -webkit-flex;

            display: flex;

            justify-content:center;

            align-items:center;

              /* 只要三句话就可以实现不定宽高水平垂直居中。 */

        }

方案五

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

        .one {

display: table-cell;

text-align: center;

vertical-align: middle;

width: 100px;

height: 100px;

background-color: red;

}

.two {

vertical-align: middle;

display: inline-block;

}

方案六

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

/*绝对定位,clac计算位置*/

.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);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,770评论 1 45
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 9,714评论 0 8
  • 风吹花落梦一场,桃柳夭夭点残阳。暮山旁,行人多少色匆忙,相思长,瘦马无怪泪两行,此生茫,清风半卷入愁肠。
    落辛阅读 562评论 2 1
  • “冷香萦遍红桥梦,梦觉城笳。 月上桃花,雨歇春寒燕子家。 箜篌别后谁能鼓,断肠天涯。 暗损韶华,一缕茶烟透碧纱。”...
    樱桃小丸子潘潘阅读 343评论 0 0