我又一次为响应式图片而苦恼,CMS给了我它的 srcset
,我建立了一个简单的 sizes
属性,我在Dev Tools中查看currentSrc
时,通过hover来检查属性 - 结果是错误的Src!试图更改媒体条件,保存,重新加载,悬停,重复此过程直到它基本正常。希望它不会对其他图像产生影响。
肯定有更好的方法吧?考虑到Firefox仍然比Chrom*更擅长调试Webfonts,并且仅今天我才发现Chrome的Dev Tools中有“添加设备像素比率”,我想知道是否我遗漏了某些东西。我知道并使用占位符图片,但是它们难以设置,并且无法告诉我
sizes
属性的语法是否正确?- 浏览器在当前视口中认为该图像有多少设备像素?这是多少个“srcset
w
-像素”? - 最重要的是:哪个媒体条件与当前视口匹配?为什么?
编辑:我想到了这个例子,希望它有所帮助:
<img
src="foo.jpg"
sizes="(max-width: 599px) 100vw, ((min-width: 600px) and (max-width: 1000px)) 33vw, 300px"
srcset="foo_a.jpg 300w, foo_b.jpg 768w" />
在设备像素比为1的情况下,视口宽度为650px。
开发者工具告诉我:
currentSrc == "foo_b.jpg"
为什么?这是哪个条件?33vw
最终会变成什么?是650px*33/100
吗?它与300w
有什么关系?它如何接近于768w
?
请注意,我实际上不是在询问这些特定值,而是一个常规的工作流程。
编辑2:我可能在寻找一个开发者工具功能(或扩展程序),它会告诉我:
- 视口宽度为650px
- 匹配
((min-width: 600px) and (max-width: 1000px))
- 650px @ DPR 1.0 = 650w
- => 33vw = 650w*33/100 = 214.5w
- 最接近的源=
foo_a.jpg 300w
- 但是,我已经在缓存中拥有了
foo_b.jpg
- 选择foo_b.jpg
src
,因为缓存(而不是因为你的sizes
错误)”,那将会很有帮助。 - kubi