我正在尝试使用 line-height,vertical-align 方法将图像居中在 div 内。查看此处的示例、问题和其他修复,他们都建议甚至表明这是有效的。然而它对我不起作用。
基本结构
<div class="photo_container">
<img alt="" src="photos/1.jpg" class="thumbnail" />
</div>
CSS
div.photo_container
{
width: 160px;
height: 160px;
padding: 10px;
float: left;
margin-right: 10px;
margin-bottom: 10px;
background-color: White;
box-shadow: 0px 0px 5px #AAA;
text-align: center;
line-height: 160px;
}
img.thumbnail
{
vertical-align: middle;
}
基本上,如您所见,容器总是 160px 高,但里面的图像可能是 100px 高。在这种情况下,我希望容器的顶部和底部有 30px 的间距,并且我的图像在中间垂直对齐。
我错过了什么?
已回答
原来这是一个 DOCTYPE 问题,我使用的是
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
当我应该使用 HTML 5 文档类型时
<!DOCTYPE html>