【发布时间】:2023-03-30 15:30:02
【问题描述】:
我很难理解<img> 标记中的srcset 和sizes 属性。
首先,为什么我的代码不起作用?
<img src="orange.jpg" alt="orange" srcset="coffee.jpg 600w, mycat.jpg 800w" sizes="(max-width:500px) 600px, 800px">
当我运行此代码时,mycat.jpg 图像会加载,无论我将浏览器缩小多少。为什么?
我认为这段代码应该意味着,如果视口达到 500px,则应该加载 600px 图像,即咖啡图像,如果没有,则应该加载 800px 图像,即 mycat 图像。那么为什么不管视口如何加载 mycat 图像呢?
另外,如果浏览器根据尺寸的接近程度来选择要加载哪个srcset 图像,那么在什么情况下会加载src 图像(橙色)?
另外,如果我为每个srcset 图像的分辨率大小添加了错误的数字会怎样?在我的示例中,我将 coffee 图像描述为 600w,将 mycat 图像描述为 800w。如果这些数字有误怎么办?
我很难理解的另一件事是,为什么这里使用sizes 属性来添加媒体条件?这不就是media 属性的用途吗?
mozilla.developers.org 和其他网站给出的解释是残酷的。请不要复制粘贴任何声称可以解释这一点的外部资源。他们不。我都看过了。
【问题讨论】:
标签: html