响应图像通过图片元素和媒体查询通过CSS



我有以下图像HTML代码,在响应式网站上工作得很好,只在需要时根据屏幕大小加载图像,节省用户带宽。我也已经根据它们是否显示在浏览器视窗中延迟加载图像了。

<picture>
<source media="(max-width: 300px)" srcset="/images/thumb.png ">
<source media="(max-width: 500px)" srcset="/images/largethumb.png ">
<img src="/images/original.png">
</picture>

但是,我的页面上有许多图像,那么我如何减少HTML有效负载?我正在寻找这样的东西,但不确定是否可能:

<picture>
<source srcset="/images/thumb.png ">
<source srcset="/images/largethumb.png ">
<img src="/images/original.png">
</picture>

伪CSS

picture source:nth-child(1){
media:(max-width: 300px);
}
picture source:nth-child(2){
media:(max-width: 500px);
}

但是我在Google上找不到任何东西。

我已经检查过了:

  • https://alligator.io/html/picture-element/
  • https://bitsofco.de/the-srcset-and-sizes-attributes/

我建议使用延迟加载。只要页面上的资源不需要,它就会延迟加载。例如,使用交集观察者API图像将永远不会被加载,如果用户从来没有到达网站的那个点。这意味着带宽的节省。

有两种方法:

  1. 本机延迟加载

<img src="yourimage.jpg" loading="lazy" alt="..." />

更多信息在这里:https://web.dev/browser-level-image-lazy-loading/

  1. 使用交集观察者API所有细节在这里:https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API

  2. 这里也有很棒的文章如何将所有技术与响应式图像完美匹配:https://css-tricks.com/tips-for-rolling-your-own-lazy-loading/

相关内容

  • 没有找到相关文章