javascript - 如何调整父容器内的图像尺寸?

标签 javascript html css reactjs

我正在尝试在上传后调整图像尺寸。假设我上传的图片最初尺寸为 450x700,其父容器尺寸为 400x400。在我的例子中,我使用 object-fit 通过保留宽高比来适应其父容器的图像,它看起来像

enter image description here

但我需要完整地显示图像,object-fit 不是这种情况的正确选择。删除 object-fit 并添加 widthheight 100% 使其完全可见,同时降低质量。这里看起来像

enter image description here

enter image description here

最后一张图原图是这个

enter image description here

已更新

实际上,我可以用 object-fit: contain 解决它,但它不是 100% 适合我,或者也许没有其他方法。有了包含,我明白了

enter image description here

您可以注意到图像的白色背景,这与容器的背景颜色(浅灰色)不相称。有没有解决的可能?

最佳答案

当您说 object-fit 不起作用时,是因为它正在裁剪图像吗?您是否尝试将 object-fit: cover 更改为 object-fit: contain

另一种选择是将图像作为背景图像,并设置 background size 包含。这将相应地缩放图像以适应边界。例如

.image__wrapper {
    background: url(../your-img.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

不幸的是,拉伸(stretch)图像以适应图像总是会扭曲并因此降低图像质量。

关于javascript - 如何调整父容器内的图像尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59102162/

相关文章:

javascript - goJS 锁定节点

javascript - 使用 JQuery 将 DOM 元素传递到另一个页面

javascript - 如何在 Javascript 中将字符串作为带有引号的参数传递

html - margin 和负 margin

html - 如何在不覆盖基本 css 模板的情况下扩展 css (Python-Flask)

绝对元素中的 HTML 重叠元素

javascript - 如何使用 axios 将对象数组发送到 PHP?

javascript - 获取ExtJS中数据存储的某个值

html - 我希望我的卡片列表折叠成 2 列,标题重复

javascript - JS中重载时调用原生方法