【发布时间】:2017-12-11 10:14:34
【问题描述】:
我正在尝试使用<img srcset /> 根据它们将出现在页面上的大小而不是基于视口的大小来加载图像。也许例子会有所帮助:
- 在任何视口上,当图像在 200 像素宽的
<div>内使用width: 100%设置样式时,应加载img-200.jpg。 - 在任何视口上,当图像在 400px 宽的
<div>内使用width: 100%设置样式时,应加载img-400.jpg。 - ...等
我已经进行了大量的谷歌搜索,但据我所知,srcset 仅用于根据 viewport 大小更改图像,而不是 image 大小,如果这有意义的话。那是对的吗?或者我正在努力实现的目标有希望吗?
【问题讨论】:
-
您的假设是正确的 - 图形是由屏幕分辨率而不是容器大小选择的。所以这不是正确的方法。让我想想。
-
如何决定 div 的宽度?他们有不同的类吗?是窗口宽度的百分比吗?
-
@MrLister 无论它们碰巧出现在页面上的宽度如何。与其说是容器 div,不如说是图像本身有多大。我希望浏览器足够聪明地说:“如果图像根据布局和它所在的容器元素以 200 像素宽显示,请选择最适合该尺寸的图像。”
-
这样说,这是个好问题。事实上,很遗憾这还不存在!
-
在查看“尺寸”时,我感到非常失望,因为图像宽度不是决定因素。似乎是一个巨大的疏忽。在开发组件而不是页面时,我们并不总是知道我们的组件如何适合它们的父级。 size 属性可以为我解决任何问题,因为这不是我设计页面的方式 :( 加上我仍然对视网膜图像如何适应这一点感到困惑 - 我必须为相同的图像尺寸指定更多的媒体查询?至少有一个创建图像时的角度组件我已经对自己选择图像大小的上下文了解更多。
标签: css responsive-images srcset