我已经阅读了许多关于使用srcset调整设备像素密度和艺术指导的文章:
The State of Responsive Images in 2015 by Paddi Macdonnell
srcset Part 2: The W descriptor and sizes attribute by Rich Finelli
这两种方法都不清楚是否可以在没有sizes属性的情况下使用w-descriptor。大多数表示相反(w-descriptor与sizes一起工作)
我自己的初步测试证实,图像切换只使用w个描述符。
我发现当使用w-descriptor根据宽度指定多个不同的图像时,浏览器将选择适合受限空间的最佳图像。
不需要其他代码。
在设计响应站点时,这显然令人困惑,因为我作为一名设计师只需要以下情况:
根据设备像素密度更改图像(对我有效。太好了!
根据可用宽度(对我有效)更改图像(艺术方向)。太好了!
我想知道sizes是如何导致这次崩溃的。我非常感谢这是一个新的特点。

最佳答案

sizes不是严格要求的,但如果不使用它,这些w描述符将根据sizes的默认值(即100vw进行解析。换句话说,省略sizes等同于指定sizes=100vw,这意味着图像将以全屏宽度呈现。如果这是你想要的,很好,请随意省略它,指定它(使你的意图明确)可能更好。
但是,如果您有其他意图,比如ausi's answer中的示例,其中元素设置为200px,那么最好指定sizes,否则会得到不好的结果。
我还没有读过你链接到的教程,但只是以防万一:决定下载源代码的算法是基于像素密度的,如x描述符所表示的。通过将其值除以适当的w值,将x描述符转换为等效的sizes描述符。它们的存在仅仅是因为有时您不知道在创作时图像的最终布局大小(以像素为单位)。如果您知道最终尺寸,那么使用x可能更容易。
(虽然它不是为这个目的而设计的,但是如果您只是想避免计算出w描述符,那么即使您知道布局的大小,也可以使用x。在某些情况下,只需列出源宽度和布局宽度并让浏览器了解情况会更容易。但是,如果您知道布局的宽度,那么您应该显式地设计它,这样您的比率无论如何都是简单的整数-发送1X或2X图像比发送到.9X图像并让浏览器放大图像要好得多。)

关于css - 是否必须在srcset中将sizes属性与w描述符一起使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35379385/

10-09 22:51