【发布时间】:2015-07-19 08:06:42
【问题描述】:
我有一个响应式设计,其中包含一个放置在容器中的标题图像。该图像具有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。
【问题讨论】:
-
你想要这样jsfiddle.net/ghygpw8t/2吗?
-
@amit:感谢您的回答,但这不是我想要的。图片应始终填充完整的包装区域,但左侧或右侧没有空白。
-
除了将图像作为背景图像之外,我想不出任何办法,但我认为这不是你的选择
-
你是这样的吗? jsfiddle.net/ghygpw8t/6
-
@Suresh Ponnukalai:感谢您的回答,但图片应始终填充完整的包装区域,但左侧或右侧没有空白。
标签: html css vertical-alignment