图像重新调整大小为HTML中原始大小的50%

Sam*_*Sam 49 html jquery image

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

但使用这个我仍然得到一个更大的图像而不是一个半尺寸的图像.

<img src="image.jpg" width="50%" height="50%" />
Run Code Online (Sandbox Code Playgroud)

我做错了什么?谢谢

<html>
    <head>
    <title></title>
    </head>    
    <body>
        <div>
        <img src="image4.png" width="50%" height="50%"/>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我使用下面的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); 

    });
Run Code Online (Sandbox Code Playgroud)

Asi*_*sif 71

你在这里没有做错任何事,它会覆盖图像大小的任何其他东西.

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

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

也尝试使用此代码:

<img src="image.jpg" style="width: 50%; height: 50%"/>?
Run Code Online (Sandbox Code Playgroud)

这是小提琴的例子.

  • 这会将图像的大小调整为其容器的50%宽度,而不是图像本身的原始物理宽度. (11认同)

Ski*_*rou 9

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

在HTML 4.01中,宽度可以以像素或包含元素的%来定义.在HTML5中,值必须以像素为单位.

此外,来自同一来源的良好做法建议:

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


Mat*_*420 8

您可以这样使用属性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" />
Run Code Online (Sandbox Code Playgroud)

目前除IE之外的所有浏览器都支持。(我可以用吗

MDN 文档


Nal*_*ran 7

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

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

<img class="halfsize" src="image4.jpg">
Run Code Online (Sandbox Code Playgroud)
  • 受浏览器兼容性

  • 这种方法的唯一问题是它在元素周围留下了空白.这是因为CSS转换工作的方式是:渲染元素,应用变换,它周围的任何其他元素保持原样. (4认同)