html - <source> "sizes"属性在 Chrome 中对 <picture> 元素有效吗?

标签 html image responsive-images

<picture> element 已经在 Chrome 中工作了一年多,但我无法获取 sizes <source> 的属性上类。

下面显示了媒体查询中断点的正确图像,但图像以其默认大小显示,而不是使用sizes中指定的值。属性。

<picture>
   <source media="(min-width: 600px)" 
           sizes="50vw"
           srcset="img1.jpg">
   <source media="(min-width: 400px)"
           sizes="90vw"
           srcset="img2.jpg">
   <img src="img3.jpg" alt="my image">
</picture>

我错过了什么吗?

最佳答案

使用sizes属性时需要使用w描述符,否则无效。

Error: Bad value img1.jpg for attribute srcset on element source: No width specified for image img1.jpg. (When the sizes attribute is present, all image candidate strings must specify a width.)

https://validator.nu/

所以你的 HTML 应该是:

<picture>
   <source media="(min-width: 600px)" 
           sizes="50vw"
           srcset="img1.jpg 300w">
   <source media="(min-width: 400px)"
           sizes="90vw"
           srcset="img2.jpg 200w">
   <img src="img3.jpg" alt="my image">
</picture>

尽管如果每个只有一个候选,您可以使用 CSS 来根据不同的断点适当调整图像大小,并跳过 size/w. sizes 的主要功能是向浏览器提示要加载 srcset 中的哪些资源;它影响内在大小更多的是一种副作用。

关于html - <source> "sizes"属性在 Chrome 中对 <picture> 元素有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35494268/

相关文章:

javascript - 制作垂直 UL slider

python - 在 Ubuntu 中从 RCCC Bayer 相机传感器读取图像流

android - 我可以在android模拟器中使用alsa运行应用程序吗?

css - ReactJS CSS backgroundImage 在滚动调整窗口大小时在底部创建空白

php - 重写此代码,因为 serialize() 不起作用

html - 悬停时纯 CSS3 动画上滑字幕

html - z-index 低于我的主容器的固定视频在页面加载时很快显示

从 V4L2 API 从 YUY2 转换为 RGB24

html - 仅在 HTML 和 CSS 中具有自动缩放的图像网格

Wordpress 响应式图像 - 在视网膜屏幕上选择错误的图像