CSS垂直居中方法总结

当前位置 : 首页 > 网页制作 > CSS > CSS垂直居中方法总结

CSS垂直居中方法总结

来源: 作者: 时间:2016-01-20 09:22
一、把容器当作表格单元按钮 middle-demo1{ display: table-cell; height: 100px; 可以动态改变高度,这里只是演示 vertical-align: middle; border: 1px solid

一、把容器当作表格单元


.middle-demo1{
    display: table-cell;
    height: 100px;  //可以动态改变高度,这里只是演示
    vertical-align: middle;
    border: 1px solid #666;
}

 

二、固定高度的元素垂直居中


 
.middle-demo2{
    position: relative;
    width: 200px;
    height: 200px;
    border: 1px solid #666;
}
.g-box{
    position: absolute;
    top: 50%;
    width: 100px;
    height: 100px;
    margin-top: -50px;
    background-color: deepskyblue;
}

或者

.g-box{
     position: absolute;
     top: 50%;
     width: 100px;
     height: 100px;
     -webkit-transform: translateY(-50px);
     -moz-transform: translateY(-50px);
     -ms-transform: translateY(-50px);
     -o-transform: translateY(-50px);
     transform: translateY(-50px);
     background-color: deepskyblue;
}

说明:要垂直居中的元素(g-box)必须是固定高度(js动态计算设置除外)。
transform的支持情况http://caniuse.com/#search=transform

三、固定高度的元素垂直居中


 
 

g-box3是需要垂直居中的元素

.middel-demo3{
     position: relative;
     width: 200px;
     height: 200px;
     border: 1px solid #666;
}
.g-box2{
     height: 50%;
     margin-bottom: -50px;
}
.g-box3{
     height: 100px;
     background-color: deepskyblue;
}

说明: 要垂直居中的元素(g-box3)必须是固定高度。

四、不定高元素垂直居中


 
.middle-demo4{
    position: relative;
    width: 200px;
    height: 200px;
    border: 1px solid #666;
}
.g-box4{
    position: absolute;
    top: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    width: 100px;
    height: 100px;
    background-color: deepskyblue;
}

说明: 要垂直居中的元素(g-box4)可以不固定高度,浏览器支持情况IE8+,其他浏览器支持较好

五、单行文本垂直居中


单行文本
.middle-demo5{
    height: 100px;
    line-height: 100px;
    border: 1px solid #666;
}

说明: 对内部的块状元素无效

六、容器定高或者不定高,多行文本垂直居中


单行文本

多行文本

.middle-demo6{
    display: table-cell;
    vertical-align: middle;
    height: 200px;      //容器可以不定高,这里只是演示
    border: 1px solid #666;
}

七、vertical-align实现行内元素垂直居中


.middle-demo7{
     position: relative;
     width: 200px;
     height: 200px;
     border: 1px solid #666;
}
.g-fix{
    display: inline-block;
    width:0;
    height: 100%;
    vertical-align: middle;
}

 

Tag:
网友评论

<