方法一:图片尺寸未知,IE8-不支持
CSS部分: <style> .content{ width:500px; height:500px; border:1px solid black; position:relative; } </style> DOM部分: <div class="content"> <img src="http://static.cnblogs.com/images/adminlogo.gif" style="margin-top:auto;margin-bottom:auto;top:0;bottom:0;position:absolute"/> </div>
方法二:图片尺寸已知,正负margin抵消
CSS部分: <style> .content{ width:500px; height:500px; border:1px solid black; position:relative; } </style> DOM结构: <div class="content"> <img src="http://static.cnblogs.com/images/adminlogo.gif" height=164 style="margin-top:-82px;top:50%;position:absolute"/>//margin-top:-imgheight/2 </div>
方法三:图片尺寸未知,table-cell属性,IE8-不支持
CSS部分 <style> .content{ width:500px; height:500px; border:1px solid black; display:table-cell; vertical-align:middle } </style> DOM部分 <div class="content"> <img src="http://static.cnblogs.com/images/adminlogo.gif"/> </div>
方法四:图片大小未知,背景图片
CSS部分 <style> .content{ width:500px; height:500px; border:1px solid black; background:url('http://static.cnblogs.com/images/adminlogo.gif') center no-repeat; } </style> DOM部分 <div class="content"> </div>
方法五:利用IFC,创建一个IFC的环境,让行框的高度是包含块的高度的100%,让行框内部的元素使用vertical-align:middle,就可以实现垂直居中。因此,我们可以在行框中插入一个高度100%的inline-block元素,把整个行框撑高直到包含块的100%。见http://www.cnblogs.com/aaron-shu/p/4101198.html