先写出HTML结构:

分别对div,span,img加css代码:
#content {
position:absolute;
top:0;bottom:0;left:0;right:0;
margin:auto; /*上右下左外边距全部为auto,实现水平垂直居中
margin:0 auto 上下外边距为0,左右居中显示;*/
width:500px;
height:500px;
background-color:yellow;
text-align:center; /*元素中的文本居中*/
}
.vertical-align-span {
display:inline-block;
width:0px;
height:100%;
vertical-align:middle;
}
#content img{
vertical-align:middle;
}
结果如下:
display:inline; 内联元素,简单来说就是在同一行显示。
display:block; 块级元素,简单来说就是就是有换行,会换到第二行。
display:inline-block; 就是在同一行内的块级元素。
说概念太模糊,来个真实案例吧。
<a href="#" style="display:inline;width:100px;height:100px;background:#ccc;">链接一</a>
<a href="#" style="display:inline;width:100px;height:100px;background:#ccc;">链接一</a>
A默认就是一行,所以inline用在这里是废的。宽高度设置也是费的。
<a href="#" style="display:block;width:100px;height:100px;background:#ccc;">链接一
</a><a href="#" style="display:block;width:100px;height:100px;background:#ccc;">链接一</a>
块状,这里高宽度就生效了,但是因为是块状,前后有换行符,所以这是两行了。
<a href="#" style="display:inline-block;width:100px;height:100px;background:#ccc;">链接一</a>
<a href="#" style="display:inline-block;width:100px;height:100px;background:#ccc;">链接一</a>
这样就是同时达到块状,而且在同一行显示。