转自:http://blog.zhourunsheng.com/2012/03/css-%E5%85%83%E7%B4%A0%E5%9E%82%E7%9B%B4%E5%B1%85%E4%B8%AD%E7%9A%84-6%E7%A7%8D%E6%96%B9%E6%B3%95/ 
 
 
 
 
 利用CSS进行元素的水平居中,比较简单,行级元素设置其父元素的text-align center,块级元素设置其本身的left 和 right margins为auto即可。本文收集了六种利用css进行元素的垂直居中的方法,每一种适用于不同的情况,在实际的使用过程中选择某一种方法即可。 
 
Line-Height Method

试用:单行文本垂直居中,demo
代码:
html
<div id="parent"><div id="child">Text here</div>
</div>css
#child {line-height: 200px;
}html
<div id="parent"><img src="image.png" alt="" />
</div>
#parent {line-height: 200px;
}
#parent img {vertical-align: middle;
}
适用:通用,demo
代码:
html
<div id="parent"><div id="child">Content here</div>
</div>css
#parent {display: table;}
#child {display: table-cell;vertical-align: middle;
} 低版本 IE fix bug: 
 #child {display: inline-block;
}
适用:块级元素,demo
代码:
html
<div id="parent"><div id="child">Content here</div>
</div>#parent {position: relative;}
#child {position: absolute;top: 50%;left: 50%;height: 30%;width: 50%;margin: -15% 0 0 -25%;
}Absolute Positioning and Stretching

适用:通用,但在IE版本低于7时不能正常工作,demo
代码:
html
<div id="parent"><div id="child">Content here</div>
</div>css
#parent {position: relative;}
#child {position: absolute;top: 0;bottom: 0;left: 0;right: 0;width: 50%;height: 30%;margin: auto;
}Equal Top and Bottom Padding

适用:通用,demo
代码:
html
<div id="parent"><div id="child">Content here</div>
</div>
#parent {padding: 5% 0;
}
#child {padding: 10% 0;
}
适用:通用,demo
代码:
html
<div id="parent"><div id="floater"></div><div id="child">Content here</div>
</div>
#parent {height: 250px;}
#floater {float: left;height: 50%;width: 100%;margin-bottom: -50px;
}
#child {clear: both;height: 100px;
}以上就是六种方法,可以在实际的使用过程中合理选择,参考文章《 vertical-centering》。









![验证二叉树的前序序列化[抽象前序遍历]](https://img-blog.csdnimg.cn/60781e71a8f34d8f86aefa8e2b77671d.png)





