HTML元素垂直居中总结

父元素高度确定的单行文本

父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的 height 和 line-height 高度一致来实现的。(height: 该元素的高度,line-height: 顾名思义,行高(行间距),指在文本中,行与行之间的 基线间的距离 )。


hi,imooc!

css代码:




父元素高度确定的多行文本

方法一:使用插入 table (包括tbody、tr、td)标签,同时设置 vertical-align:middle。

css 中有一个用于竖直居中的属性 vertical-align,在父元素设置此样式时,会对inline-block类型的子元素都有用。下面看一下例子:

html代码:




 

看我是否可以居中。

css代码:


table td{

    height:500px;

    background:#ccc

}

因为 td 标签默认情况下就默认设置了 vertical-align 为 middle,所以我们不需要显式地设置了。

方法二:在 chrome、firefox 及 IE8 以上的浏览器下可以设置块级元素的 display 为 table-cell(设置为表格单元显示),激活 vertical-align 属性,但注意IE6、7 并不支持这个样式, 兼容性比较差。

html代码:


看我是否可以居中。

看我是否可以居中。

看我是否可以居中。

css代码:




这种方法的好处是不用添加多余的无意义的标签,但缺点也很明显,它的兼容性不是很好,不兼容 IE6、7而且这样修改display的block变成了table-cell,破坏了原有的块状元素的性质。


还有一种方法:


.container{

    position: absolute;
    top:50%;
    left:50%;

    margin:-170px -250px; /*container宽500px,高340px*/

}

你可能感兴趣的:(HTML元素垂直居中总结)