60

我正在尝试在 HTML 中重新调整图像的大小,它的宽度为 314 像素,高度为 212 像素。我想将其重新调整为 50%...

但是使用它我仍然可以获得更大的图像而不是半尺寸图像。

<img src="image.jpg" width="50%" height="50%" />

我做错什么了?谢谢

<html>
    <head>
    <title></title>
    </head>    
    <body>
        <div>
        <img src="image4.png" width="50%" height="50%"/>
        </div>
    </body>
</html>

我在下面使用 jquery 解决了上述问题:

$(document).ready(function(e) {
        var imgs = document.getElementsByTagName('img');
        var imgLength = imgs.length;

        for(var i=0; i<= imgLength-1;i++){

            var imgWidth = imgs[i].clientWidth;
            var imgHeight = imgs[i].clientHeight;

            $('img').eq(i).attr({width:imgWidth/2, height: imgHeight/2});

            console.log(imgWidth);
        }

        console.log(imgLength); 

    });
4

4 回答 4

81

您在这里没有做错任何事情,它会覆盖图像大小的任何其他事情。

你可以检查这个工作小提琴

这个小提琴中,我使用 改变了图像大小%,它正在工作。

也尝试使用此代码:

<img src="image.jpg" style="width: 50%; height: 50%"/>​

这是示例小提琴。

于 2012-06-20T10:31:25.563 回答
14

我们也可以通过 css3 做到这一点。试试这个:

.halfsize {
    -moz-transform:scale(0.5);
    -webkit-transform:scale(0.5);
    transform:scale(0.5);
}

<img class="halfsize" src="image4.jpg">
  • 受限于浏览器兼容性
于 2015-12-27T08:22:42.443 回答
11

百分比设置不考虑原始图像大小。来自w3schools  :

在 HTML 4.01 中,宽度可以以像素或包含元素的百分比来定义。在 HTML5 中,该值必须以像素为单位。

此外,来自同一来源的良好实践建议:

提示:缩小具有高度和宽度属性的大图像会迫使用户下载大图像(即使它在页面上看起来很小)。为避免这种情况,请在将图像用于页面之前使用程序重新缩放图像。

于 2013-10-01T16:30:05.693 回答
5

您可以像这样使用属性的x描述符:srcset

<!-- Original image -->
<img src="https://fr.wikipedia.org/static/images/mobile/copyright/wikipedia.png" />

<!-- With a 80% size reduction (1/0.8=1.25) -->
<img srcset="https://fr.wikipedia.org/static/images/mobile/copyright/wikipedia.png 1.25x" />

<!-- With a 50% size reduction (1/0.5=2) -->
<img srcset="https://fr.wikipedia.org/static/images/mobile/copyright/wikipedia.png 2x" />

目前除 IE 外的所有浏览器都支持。(

MDN 文档

于 2021-02-08T21:14:04.077 回答