【发布时间】:2013-05-20 08:18:59
【问题描述】:
我有不同尺寸的大图像,需要在两个维度上完全填充 240 像素 x 300 像素的容器。这是我现在得到的,仅适用于一维:
HTML
<div class="container">
<img src="http://placehold.it/300x1500">
</div>
<div class="container">
<img src="http://placehold.it/1500x300">
</div
CSS
.container {
height: 300px;
width: 240px;
background-color: red;
float: left;
overflow: hidden;
margin: 20px;
}
img {
max-width: 100%;
height: auto;
}
比例应该保持不变。本质上,宽图像应该在宽度上被切断,而高图像需要在高度上被切断。因此,只需放大到填充容器所需的量即可。
不知道为什么我不能让它工作,我需要 JavaScript 吗?
编辑:要清楚。我需要小提琴上的所有红色都消失了。进来的图像是动态的,因此我不能使用背景图像。我愿意使用 JavaScript。谢谢! :)
【问题讨论】:
-
不确定是否支持跨浏览器 - jsfiddle.net/HsE6H/2
-
抱歉,可能不太清楚:我需要图像填充整个 div,以便所有“红色”消失。有任何想法吗? :)
-
如果不以不同的比例缩放两个轴,您将无法拍摄“不同尺寸的大图像”并将它们完美地适合固定尺寸的容器。如果按比例缩放图像,则源的比例将与目标的比例相同。
-
就像
Blaise Swanwick说的那样,仅通过css是不可能的,您需要使用一些服务器端代码和图像处理库来调整图像大小。 -
有什么想法吗?对涉及 JS 的解决方案非常开放。
标签: javascript html css image