如何實現不定寬高水平垂直居中

html佈局
<div class="parent"> <div class="child">hello world</div> </div>

一、使用css3 flex彈性佈局css

.parent{
    display: flex;
    justify-content: center;
    align-items: center;
}

二、使用CSS3 transform,子元素絕對定位html

.parent{
    position: relative;
}
.parent .child{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

三、利用table-cellcss3

.parent{
    display: table;
    height:300px;
    width: 300px;
}
.parent .child{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

四、使用一個空標籤, 設置成 display: inline-block;vertical-align:middle;width:0佈局

.parent{
    height:300px;
    width: 300px;
    text-align: center;
    background: #FD0C70;
}
.parent span{
    display: inline-block;
    width: 0;
    height: 100%;
    vertical-align: middle;
    zoom: 1;/*BFC*/
    *display: inline;
}
.parent .child{
    display: inline-block;
    color: #fff;
    zoom: 1;/*BFC*/
    *display: inline;
}
    <div class="parent">
        <span></span>
        <div class="child">hello world-2</div>
    </div>
 

以上方法在ie9如下都有兼容性問題,根據實際狀況使用flex

相關文章
相關標籤/搜索