欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

translate()进行水平垂直居中

程序员文章站 2022-04-30 12:03:03
...

html

<div class="load_box">
    <div class="load_cont">
        <div class="load_img"></div>
        加载失败,稍后再试
    </div>
</div>  

css

.load_box {
    height: 100%;
    width: 100%;
    position: relative;
}
.load_cont {
    position: absolute;
    width: 9.733333333333333rem;
    top: 50%;
    left: 50%;
    text-align: center;
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -moz-transform: translate3d(-50%, -50%, 0);
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
}
.load_img {
    height: 5.466666666666667rem;
    width: 9.733333333333333rem;
    background: transparent url(ic_error.png) no-repeat center center;
    font-size: 1.1rem;
    color: #999999;
    margin-bottom: 10px;
    background-size: 100%;
}

margin-left

.load_cont{position: absolute; height:5.466666666666667rem; width: 9.733333333333333rem;  top: 40%; left: 50%; margin-left: -4.87rem; text-align: center;}

margin-left必须知道自身的宽高,而translate可以在不知道宽高的情况下进行居中,tranlate()函数中的百分比是相对于自身宽高的百分比,所以能进行居中.

兼容性: Internet Explorer 10、Firefox、Opera 支持 transform 属性。
Internet Explorer 9 支持替代的 -ms-transform 属性(仅适用于 2D 转换)。
Safari 和 Chrome 支持替代的 -webkit-transform 属性(3D 和 2D 转换)。
ie9以下不能使用,所以在使用时要考虑浏览器版本问题.