本文介绍如何在固定宽度但高度不固定的容器中,仅显示图片垂直居中的部分。通过CSS设置overflow: hidden隐藏溢出内容,并结合JavaScript在图片加载完成后动态计算并设置margin-top和margin-left,实现图片在容器内的垂直与水平居中显示效果。
图片垂直居中显示需求
在一个Div中显示Img,img的宽和Div相同,但高不固定,要求只显示Img垂直居中的部分。
示例:
原图:

代码实现方案
代码实现:
代码如下:
<div style="width: 190px; height: 100px; overflow: hidden;">
<img src="http://beijing.timeoutcn.com/UserFiles/Images/2013-10-21/20131021104840077cover-22-1.jpg" width="190px" style="vertical-align: middle;"
onload="this.style.marginTop = (parseInt(this.parentNode.style.height) - this.height)/2 + 'px';this.style.marginLeft = (parseInt(this.parentNode.style.width) - this.width) /2 + 'px'" />
</div>点击下载源文件