首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在小屏幕上使用CSS保持图像的纵横比

在小屏幕上使用CSS保持图像的纵横比
EN

Stack Overflow用户
提问于 2021-04-29 18:55:25
回答 1查看 173关注 0票数 0

我正在尝试修复灯塔警告“图像元素没有明确的宽度和高度”,以减少布局偏移并提高CLS。问题是,当我在可湿性粉剂网站上创建我的页面时,我使用了引导网格,并且没有将这些属性添加到图像中,所以它们在所有屏幕上都可以很好地调整大小。现在,如果我添加宽度和高度属性,图像在移动设备上的缩放不正确,则不会考虑初始长宽比。我最担心的是图像非常不同,宽高比也非常不同。这是我找到的唯一有效的解决方案,但我不认为它真的很优雅,我猜应该有更多……简单?

下面是一段进入css的代码:

代码语言:javascript
复制
[style*="--aspect-ratio"]>:first-child {
    width: 100%
}

[style*="--aspect-ratio"]>img {
    height: auto
}

@supports (--custom:property) {
    [style*="--aspect-ratio"] {
        position: relative
    }

    [style*="--aspect-ratio"]::before {
        content: "";
        display: block;
        padding-bottom: calc(100% / (var(--aspect-ratio)))
    }

    [style*="--aspect-ratio"]>:first-child {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%
    }
}

我必须手动为每个图像添加一个父div,以指示宽高比:

代码语言:javascript
复制
<div style="--aspect-ratio:804/476">
        <img src="/app/uploads/2020/06/picture.png" alt="alt text" width="804" height="476" />
</div>

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2021-05-04 16:29:55

所以我试着使用它,我发现如果你有宽度和高度属性,当你有

代码语言:javascript
复制
img {
max-width: 100%
height: auto
}

希望它也能帮助其他人!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67315953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档