Css 在srcset中是否必须使用带有w描述符的size属性?
我已经阅读了许多关于使用Css 在srcset中是否必须使用带有w描述符的size属性?,css,responsive-design,srcset,responsive-images,Css,Responsive Design,Srcset,Responsive Images,我已经阅读了许多关于使用srcset进行设备像素密度调整和艺术指导的文章: 这两种方法都不能清楚地表明,在没有大小属性的情况下,是否可以使用w描述符。大多数表示相反(w描述符与大小一起工作) 我自己的初步测试证实,图像切换仅使用w描述符就可以工作 我发现,当使用w描述符根据图像宽度指定多个不同的图像时,浏览器将选择适合受限空间的最佳图像 不需要其他代码 在设计响应性网站时,这显然令人困惑,因为作为设计师,我只需要以下情况: 根据设备像素密度更改图像(适合我,太棒了!) 根据可用宽度更改图像(
srcset
进行设备像素密度调整和艺术指导的文章:
这两种方法都不能清楚地表明,在没有大小属性的情况下,是否可以使用w描述符。大多数表示相反(w描述符与大小一起工作)
我自己的初步测试证实,图像切换仅使用w描述符就可以工作
我发现,当使用w描述符根据图像宽度指定多个不同的图像时,浏览器将选择适合受限空间的最佳图像
不需要其他代码
在设计响应性网站时,这显然令人困惑,因为作为设计师,我只需要以下情况:
根据设备像素密度更改图像(适合我,太棒了!)
根据可用宽度更改图像(艺术方向)(适合我。太好了!)
我想知道尺寸会如何影响这场灾难。我完全理解这是一个新的ish特性。如果使用w
-描述符,则size
属性确实会有所不同。请看以下示例:
大小
不是严格要求的,但如果不使用它,这些w
描述符将根据大小的默认值进行解析,即100vw
。换句话说,省略大小
相当于指定大小=100vw
,这意味着要以全屏宽度渲染图像。如果这是你想要的,很好,可以省略它,但是指定它(让你的意图更清楚)可能更好
但是,如果您打算做其他事情,比如ausi回答中的示例,其中元素设置为200px,那么您最好指定大小
,否则会得到不好的结果
我还没有阅读您链接到的教程,但为了以防万一,它们没有明确说明:决定下载哪个源的算法是基于像素密度的,如x
描述符所示。将w
描述符的值除以相应的大小
值,将其转换为等效的x
描述符。它们的存在仅仅是因为有时您在创作时不知道图像的最终布局大小(以像素为单位)。如果您确实知道最终尺寸,那么使用x
可能更容易
(虽然它不是为这个目的而设计的,但是如果你不想计算出x
描述符,你也可以使用w
,即使你知道布局的大小。在某些情况下,只列出源代码宽度和布局的宽度,让浏览器计算出来可能会更容易对于布局宽度,您应该明确地为其进行设计,这样您的比率无论如何都是简单的整数-发送1x或2x图像比发送到.9x图像并让浏览器放大要好得多。)如果存在带宽度描述符的srcset
属性,则严格要求使用size
属性。根据规范:“如果srcset属性具有任何使用宽度描述符的图像候选字符串,则还必须存在size属性”。请参阅