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属性”。请参阅