我正在尝试按比例缩小一个div容器,该容器大于最大宽度和高度设置。我有下面的代码,它获取图像的宽度和高度以及允许的最大尺寸。
这是我的深度,它下面加载的图像是662x599。宽度大于允许的最大值,所以我需要它正确缩小并放入div的中心。
var max_width = 713;
var max_height = 550;
var img = new Image();
img.onload = function() {
img.width = this.width;
img.height = this.height;
}
img.src = 'files.jpg';
下面是一个示例,我手动调整图像大小,看起来很好,给你一个应该看起来应该如何的粗略示例。我打算使用“top”和“left”样式将图像放在div的中心。
<img style="width: 613px; height: 550px; top: 0px; left: 50px;" src="files.jpg">
任何帮助都会非常感谢。
答案 0 :(得分:5)
这是用于计算width
,height
,top
,left
的代码。
// max_width = 713
// max_height = 550
// img.width = 662
// img.height = 599
scale_width = max_width / img.width;
scale_height = max_height / img.height;
scale = Math.min(scale_width, scale_height);
width = img.width * scale; // 608
height = img.height * scale; // 550
left = (max_width - width)/2; // 52
top = (max_height - height)/2; // 0
答案 1 :(得分:0)
为什么你甚至需要JavaScript?只需在图片上设置max-width
即可与包含div
的图片匹配(即100%)。
<div>
<img src="https://www.google.com/url?q=http://www.photoinpixel.com/mypicture/persian-cat-hd-wallpaper.jpg&ei=dTWZUYHKOoqkiQLto4GYAw&sa=X&oi=unauthorizedredirect&ct=targetlink&ust=1368996989961871&usg=AFQjCNHdsjijJ2oeKrUuvZRMFUuIRxydtg"/>
</div>
div {
width: 500px;
}
img {
max-width: 100%;
}