<picture> 标签——自适应显示不同图片

【高频考点精讲】响应式图片的实现方式:srcset 与 picture 元素的使用 响应式图片不是银弹,需要结合CDN、懒加载等技术才能发挥最大价值。下次当你看到<img>标签时,不妨想想:这个元素已经默默进化成了多么强大的工具。我是全栈老李,一个喜欢把复杂技术讲明白的硬核博主。如果觉得有用,别忘了转发给你的同事——毕竟谁也不想在周报里写"优化了图片加载,节省了30%流量"时被问到技术细节却答不上来,对吧? 阅读详情

功能

picture元素通过包含一个或多个元素和一个元素再结合media(媒体查询)来使用,
根据屏幕匹配的不同尺寸显示不同图片,如果没有匹配到或浏览器不支持 picture 属性则使用 img 元素:

案例

菜鸟案例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<h2>picture 元素</h2>
<picture>
  <source media="(min-width: 650px)" srcset="https://static.runoob.com/images/mix/html-css-js.png">
  <source media="(min-width: 465px)" srcset="https://static.runoob.com/images/mix/htmlbig.png">
  <img src="https://static.runoob.com/images/mix/img_avatar.png"  style="width:auto;">
</picture>

</body>
</html>

注意事项

  1. <picture>是行内元素。

  2. 默认显示source引入的图片资源,当不满足设置的media(媒体查询)条件或source不存在,则显示img引入的图片资源

  3. 若source中没有写media(媒体查询)条件,则默认满足条件,显示该source引入的图片,这样的话永远都不会显示img图片。
    (1)第一个source 没有写media条件,则不论屏幕宽度是多少,都显示第一个source引入的图片。因为没有media默认满足条件,则不会继续往下判断。

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
    
    <h2>picture 元素</h2>
    
    <picture>
      <source  srcset="https://static.runoob.com/images/mix/html-css-js.png">
      <source media="(min-width: 465px)" srcset="https://static.runoob.com/images/mix/htmlbig.png">
      <img src="https://static.runoob.com/images/mix/img_avatar.png"  style="width:auto;">
    </picture>
    
    
    </body>
    </html>
    

    (2)第二个source没有写media条件,则当第一个source满足条件时,显示第一个source图片,否则显示第二个source图片。

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
    
    <h2>picture 元素</h2>
    
    <picture>
      <source media="(min-width: 650px)" srcset="https://static.runoob.com/images/mix/html-css-js.png">
      <source  srcset="https://static.runoob.com/images/mix/htmlbig.png">
      <img src="https://static.runoob.com/images/mix/img_avatar.png"  style="width:auto;">
    </picture>
    
    
    </body>
    </html>
    
  4. picture标签中必须有img,如果只有source,则不会显示任何图片

  5. picture标签有几个img,就会显示几张图片,如何是是source满足条件,则显示3张同样的该source引入的图片,否则显示img各自引入的图片。

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
    
    <h2>picture 元素</h2>
    
    <picture>
      <source media="(min-width: 650px)" srcset="https://static.runoob.com/images/mix/html-css-js.png">
      <source media="(min-width: 465px)" srcset="https://static.runoob.com/images/mix/htmlbig.png">
      <img src="https://static.runoob.com/images/mix/img_avatar.png"  style="width:auto;">
      <img src="https://static.runoob.com/images/mix/htmlbig.png"  style="width:auto;">
      <img src="https://static.runoob.com/images/mix/html-css-js.png"  style="width:auto;">
    </picture>
    
    </body>
    </html>
    
HOW - 图片比例和裁切方案 场景容器设置图片设置显示效果正常比例完整比例显示图片太宽h-[600px]固定高度,裁左右图片太高w-[1512px]固定宽度,裁上下响应式适配<picture>自动换图。 阅读详情

相关推荐

HTML <picture> 标签

picture>标签使 Web 开发人员在指定图像资源方面更具灵活性。元素的最常见用途是在响应式设计中用于艺术指导。可以设计多个图像来更好地填充浏览器视口,而不是根据视口宽度缩放一个图像。元素包含两个标签:一个或多个标签和一个标签。浏览器将查找媒体查询与当前视口宽度匹配的第一个 元素,然后显示正确的图像(在 srcset 属性中指定)。

玄链教育 1970

<picture>标签

● 标签用于指定多个图片源,它可以根据浏览器的支持情况来选择最合适的图片格式。在这个例子中,首先尝试加载image.webp,如果浏览器不支持webp格式,则加载image.jpg。标签是标签的默认内容,它会在没有匹配的标签时被加载。在这个例子中,如果浏览器既不支持webp格式也不支持jpeg格式,则加载image.jpg。● alt属性用于指定图片的替代文本,当图片无法加载时会显示这个文本。标签是HTML中用于插入图片的标签。● src属性用于指定默认情况下要加载的图片地址。

前端小白的博客 740

IEEE Transactions on Industrial Informatics(TII) 投稿须知- Initial Submission

请注意,您可以在作者中心查看稿件的当前状态,如:在EIC办公室、分配给AE、AE邀请审稿人、AE指定审稿人、正在审稿、等待AE决定、等待EIC决定。为了确保公正的评审过程,我们要求在稿件中没有任何作者的身份(不包括作者的姓名、传记、隶属关系、求职信、签署的版权表格、识别脚注、致谢等)。如果你的手稿有很大一部分已经在会议上发表过,论文必须隐藏所有作者的身份,这样会议论文就可以被引用,就好像它是由不同的作者写的一样。请注意,通常你的技术成就是根据被引用的次数来评估的,而不是根据发表的论文数量。

loinleeai的博客 4432

HTML Picture标签详细教程

<picture>标签是HTML5中引入的一个强大元素,它为开发者提供了更灵活的图像资源管理方式。该标签主要用于让浏览器根据不同条件(如设备屏幕大小、分辨率或支持的图像格式)选择最适合当前显示环境的图像版本。

wscfan的博客 2335

别再死磕GAN了!用PyTorch从零实现DDPM图像生成(附CIFAR-10完整代码)

本文详细介绍了如何使用PyTorch从零实现DDPM(Denoising Diffusion Probabilistic Models)图像生成模型,并在CIFAR-10数据集上进行训练和测试。通过对比GAN,DDPM展现出更稳定的训练过程和更高质量的生成效果。文章包含完整的代码实现、训练技巧和优化建议,帮助开发者快速掌握这一前沿的生成模型技术。

weixin_33720078的博客 630

VTK实战笔记(1)在win11搭建VTK-9.4.2 + qt5.15.2 + VS2019_x64开发环境

Visual Studio 2019 + qt5.15.2 + vtk9.4.2

心向阳光,斗志昂扬! 977

为什你应该使用picture标签而不是Img标签

点击上方关注TianTianUp,一起学习,天天进步大家好,我是小弋。分享的内容是为什你应该使用picture标签而不是Img标签。写在前面在用户界面中使用图片和动画已经成为现代网络应用...

李dayday 624

【红外技术】DDE算法:HE在红外图像可视化上的应用(附源码)

并且数据一般是以 8 的整数倍的位宽在电子系统中应用,因此大多数的显示器的显示位宽为 8bit,共 256 个灰阶。为了使红外图像可视化,因此需要一种“数据压缩”技术,还需要既可能的不丢失原始图像信息。HE后的图像直方图分布比较均匀离散,图像对比度好。但是HE算法只是适用某些图像,它是将灰度集中区域进行拉伸得到,也会放大该集中区域的噪声,它是一种“不公平”的映射。以下是红外细节增强算法的演示,很明显右边的图像,展现了更多的图像细节,对于小目标的观测非常友好。文章已于2019-12-02修改。

sunwindl91181的博客 911

图片:前端展示图像(img 、picture、svg、canvas )及常用图片格式(PNG、JPG、JPEG、WebP、GIF、SVG、AVIF、JFIF等)

与其他图像格式相比,TIFF格式可以存储更大的文件大小,具有更多的细节和更高的分辨率,使得用户可以更准确地保留和传输高质量的图像和照片。原因是同样大小的jpg和png图片下载的时间是相同的,但是jpg图片是有RGB三种描述的, 而png是有ARGB四种描述的,带有透明度,所以浏览器解码png图片要花更多的时间,因此jpg格式比png加载的快。是的,BMP格式图片可以用于浏览器。总之,DDS格式是一种高效、灵活和功能强大的图像格式,可以提供高质量的图像,并在游戏和应用程序中提高性能和速度。

snow的博客 1万+

2024年11月架构设计师案例分析真题回顾,附参考答案、解析及所涉知识点(二)

软考高级系统架构设计师考试包含三个科目:信息系统综合知识、案例分析和系统架构设计论文。考试形式为机考。本文主要回顾2024年下半年(2024-11-10)系统架构设计师考试上午第二科案例分析的题目,同时附带参考解答、解析和所涉知识点。

一几文的编程学习笔记。 1661

ArcGIS JSAPI 高级教程 - 添加多个 box 立方体 - 通过顶点、索引、UV 自定义每个 box、每个面不同颜色

ArcGIS JSAPI 高级教程 - 添加多个 box 立方体 - 通过顶点、索引、UV 自定义每个 box、每个面不同颜色。

非科班Java出身GISer的博客 400

实现图片响应式

图片随着屏幕的大小而变化,同事又保证图片不失真.方法一:注意加视口img { max-width:100%; height:auto; }方法二:使用背景图片 background-size:contain属性;然而这种方法并不是真正的响应式,可以使用媒体查询实现响应式.&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt...

Hanhanyoona的博客 434

【WorkBuddy专栏61】字节的AI打法为什么一直在变——WorkBuddy/CodeBuddy vs 字节Trae/TRAE Work/豆包全维度对比

【WorkBuddy专栏61】字节的AI打法为什么一直在变——WorkBuddy/CodeBuddy vs 字节Trae/TRAE Work/豆包全维度对比

AI人人懂 2764

html5/css3响应式布局

html5图片自适应http://www.gbtags.com html5/css3响应式布局介绍及设计流程,利用css3的media query媒体查询功能。移动终端一般都是对css3支持比较好的高级浏览器不需要考虑响应式布局的媒体查询media query兼容问题 一个普通的自适应显示的三栏网页,当你用不同的终端来查看这个页面的时候,他会根据几种终端来显示不同的样式,在电脑上是三列

DONGJIU的专栏 935

Autosar配置——导入DBC后配置SecOC同步报文和同步请求报文

在Autosar中,安全性是一个重要的考虑因素,而SecOC(Secure On-Board Communication)是一种用于保护通信数据完整性和安全性的安全机制。在上述示例中,我们配置了同步报文和同步请求报文的属性。接下来,我们需要在Autosar中配置同步报文和同步请求报文。同步报文用于在通信双方之间同步SecOC状态,而同步请求报文用于请求SecOC的状态信息。通过以上配置,我们成功地导入了DBC文件,并在Autosar系统中配置了SecOC同步报文和同步请求报文。希望以上信息对您有所帮助!

CyberSphinx的博客 649

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

为什么要用 picture 标签代替 img 标签?

作者 | Chameera Dulanga译者 | 王强策划 | 李俊辰本文最初发布于 Medium 网站,经原作者授权由 InfoQ 中文站翻译并分享。在用户界面中使用图像和动画已成为现...

我本可以容忍阳光,如果我不曾见过太阳,然而阳光已使我荒凉,成为更新的荒凉。 221

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

前端【响应式图片处理】之 【picture标签】

目录????前言????目前最常见的解决方案????新的解决方案`<picture>`????`<picture>`的工作原理????`<picture>` 兼容性解决方案????写在最后 ????前言哈喽小伙伴们,前端开发过程中经常会遇到一些图片的处理,比如在多端展示图片的时候需要自适应显示,也就是前端不同的屏幕大小请不同的...

weixin_29333353的博客 366

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

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

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

https://github.com/Mac-Zhu 1041

picture 元素结合 srcset 和 sizes 属性如何实现分辨率与视口自适应的图像加载?

想象一下,你精心开发的网页,图片精美绝伦,却因为加载速度慢让用户频频摇头;又或者用户在不同设备上浏览,图片要么模糊不清,要么体积过大浪费流量。作为前端工程师,这样的场景是不是让你倍感焦虑?别担心!`picture` 元素搭配 `srcset` 和 `sizes` 属性,就像一剂“布洛芬”,能快速缓解图像加载优化的“头疼”问题。今天,咱们就来聊聊这三个属性如何协同工作,实现分辨率与视口自适应的图像加载,让你的网页在各类设备上都能“轻装上阵”、颜值在线。

前端大白话 809

响应式图片实践研究(html5 picture/srcset 等多种方法对比)

响应式图片实践研究(html5 picture/srcset 等多种方法对比)一、需求二、html5新属性 srcset&sizes三、html5新标签四、css3媒体查询五、用js判断处理六、后端代码判断处理、第三方云服务 一、需求 现在有一需求 对于一个宽屏的banner焦点图,要求根据浏览器尺寸读取不同尺寸的图片,设浏览器宽度为w, w<767时读取640px 768<=...

iamlujingtao的博客 778

picture 元素实现自适应不同设备的图片显示

HTML<picture>元素通过包含零或多个<source>元素和一个<img>元素来为不同的显示/设备场景提供图像版本。浏览器会选择最匹配的子<source>元素,如果没有匹配的,就选择<img>元素的src属性中的URL。然后,所选图像呈现在<img>元素占据的空间中。 转...

weixin_30314813的博客 211

html中picture以及img的srcset/sizes实现图片自适应

picture和img的srcset都可用于图片的自适应 原文地址: html中picture以及img的srcset/sizes实现图片自适应

weixin_40863414的博客 355

<picture>标签实现响应式图片

一个picture标签里面可以包含多个source标签,每个source标签里可以使用媒体查询和设置srcset属性,浏览器会遍历picture标签中的每个source标签,根据当下的情况,找到最合适的srcset,然后来设置img标签的src属性。 <div class="slider-img"> <picture> <source srcset="img/ad001-l.

kumayato的博客 677

html5 图片清晰化处理,HTML5中的picture元素响应式处理图片方法

所谓的响应式设计,是指在不同的屏幕分辨率,不同的像素密度比,不同宽度的终端设备中,网页布局可以自适应的调整。响应式设计的本意是使原本PC上的网站兼容移动终端,大部分响应式网页是通过媒体查询,加载不同样式的CSS文件实现的。这样的弹性化布局使网站在不同的设备终端布局都比较合理。本文主要介绍了详解HTML5中的picture元素响应式处理图片,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟...

weixin_33324197的博客 695
上一篇: CSS @规则
下一篇: 前端代码异常监控—window.onerror
喵_美
博客等级 码龄11年 445粉丝 102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值