我有一个响应式设计的标题图片,它放在一个容器中。图像具有width:100%;
和height:auto;
属性,因此随着您增大视口而变大。但是我不想超过某个高度,所以容器具有max-height
属性。现在图像仍然会变大,但底部部分被剪切了,因为它对齐到容器的顶部。
我希望图像在其容器中保持垂直居中,因此图像的顶部和底部部分都被裁剪掉。最终效果应该是这样的:
由于标题图像是由用户上传的,因此它们可能具有不同的高度,因此我不能使用特定的像素值来解决问题。是否有CSS解决方案,还是必须使用JavaScript?
以下是代码:
.wrapper {
width: 90%;
max-width: 600px;
margin: 1em auto;
background-color: #E9ADAD;
}
.container {
text-align: center;
height: auto;
line-height: 200px;
max-height: 200px;
overflow: hidden;
}
img {
width: 100%;
height: auto !important;
vertical-align: middle;
}
<div class="wrapper">
<div class="container">
<img src="http://placehold.it/600x300/C00000/FFFFFF&text=Image+vertically+centered">
</div>
</div>
我准备了一个fiddle。