• H5自适应图片-picture标签实现


    即在不同尺寸上显示不同大小的图片,大尺寸显示宽图,小尺寸窄图。

    1. <picture>
    2. <source media="(max-width: 799px)" srcset="elva-480w-close-portrait.jpg">
    3. <source media="(min-width: 800px)" srcset="elva-800w.jpg">
    4. <img src="elva-800w.jpg" alt="Chris standing up holding his daughter Elva">
    5. </picture>
    • <source>元素包含一个media属性,这一属性包含一个媒体条件——就像第一个srcset例子,这些条件来决定哪张图片会显示——第一个条件返回真,那么就会显示这张图片。在这种情况下,如果视窗的宽度为 799px 或更少,第一个<source>元素的图片就会显示。如果视窗的宽度是 800px 或更大,就显示第二张图片。
    • srcset属性包含要显示图片的路径。请注意,正如我们在<img>上面看到的那样,<source>可以使用引用多个图像的srcset属性,还有sizes属性。所以你可以通过一个 <picture>元素提供多个图片,不过也可以给每个图片提供多分辨率的图片。实际上,你可能不想经常做这样的事情。
    • 在任何情况下,你都必须在 </picture>之前正确提供一个<img>元素以及它的srcalt属性,否则不会有图片显示。当媒体条件都不返回真的时候(你可以在这个例子中删除第二个<source> 元素),它会提供图片;如果浏览器不支持 <picture>元素时,它可以作为后备方案。

    不使用CSS和JS实现效果是因为会任意加载一张图片,这对响应式没有帮助。

  • 相关阅读:
    Vue原理及源码设计模式
    如何在项目中快速引入Logback日志
    教你手机变流畅的方法
    《QDebug 2022年6月》
    Java实现简单的俄罗斯方块游戏
    Python循环中被遗忘的else选项
    JAVA Calender获取当前日期的前一天
    Django 实战开发(一)项目搭建
    初识微服务技术栈
    Win11怎么显示固定应用?
  • 原文地址:https://blog.csdn.net/zxl1173558248/article/details/125601096