前端

总结几种常见的垂直居中的布局

2018-04-16  本文已影响155人  殖民_FE

废话不多说,直接看代码!

1.margin: auto;实现绝对定位元素的水平垂直居中,IE7及以下低版本浏览器不兼容

<div class='maps1'></div>
* {
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none;
}

.maps1{
    width: 200px;
    height: 200px;
    background-color: #000;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

2. margin的负间距实现绝对定位元素的水平垂直居中,兼容性比较好,比较常用

<div class='maps2'></div>
* {
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none;
}
.maps2{
    position: absolute;
    left: 50%;
    top: 50%;
    width: 200px;
    height: 200px;
    background-color: green;
    border: 10px solid #000;
    margin: -110px 0 0 -110px;
}

3.通过transform偏移实现绝对定位元素的水平垂直居中, IE8及以下低版本浏览器不兼容

* {
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none;
}
.maps3{
    position: absolute;
    left: 50%;
    top: 50%;
    width: 200px;
    height: 200px;
    background-color: gray;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

4.CSS3弹性盒模型布局不定宽高实现水平垂直居中 ,CSS3弹性盒模型布局本身就不支持低版本IE6-9浏览器的兼容

 <div class="maps4">
        <div></div>
 </div>
body,
html {
    height: 100%;
}
* {
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none;
}
.maps4{
    /** height:100%就是让页面撑满整个可视区 */
    height: 100%;
    /** 流行版弹性盒模型布局 */
    display: flex;
    display: -webkit-flex;
    /** 老安卓版弹性盒模型布局 */
   /** display: box;
    display: -webkit-box;
    /** 老安卓版的横向居中 */
    /**box-pack: center;
    -webkit-box-pack: center;
    /** 老安卓版的垂直居中 */
    /**box-align: center;
    -webkit-box-align: center;
    /** 流行版的横向居中 */
    justify-content: center;
    -webkit-justify-content: center;
    /** 流行版的垂直居中 */
    align-items: center;
    -webkit-align-items: center;
}
.maps4 div {
    width: 100px;
    height: 100px;
    background-color: black;
}

看代码应该是比较清晰的了,当自己的笔记,不喜勿喷!

上一篇 下一篇

猜你喜欢

热点阅读