HTML 里 img 元素的 src 和 srcset 属性的区别详解


Posted in HTML / CSS onMay 21, 2023

img 元素有两个相关的属性

在 HTML 中,img 元素通常用于在网页中插入图片。img 元素有两个相关的属性:src 和 srcset。

src 属性指定图像的 URL,它是必需的。浏览器将使用该 URL 加载图像并将其显示在页面上。

srcset 属性允许您指定一系列不同大小或分辨率的图像文件,以便浏览器可以根据设备的像素密度和屏幕大小选择最合适的图像。srcset 属性的值是一个逗号分隔的列表,其中每个项目都有一个图像文件的 URL,后跟一个空格和一个分辨率描述符。描述符指定图像的分辨率,并告诉浏览器如何选择最合适的图像。通常使用像素密度(如“1x”或“2x”)或图像宽度(如“320w”或“640w”)作为描述符。

在使用 srcset 属性时,可以选择一个默认的图像文件,将其 URL 放在 img 元素的 src 属性中。如果浏览器不支持 srcset 属性或无法选择最合适的图像,则将加载默认的图像文件。

总的来说,src 属性用于指定图像的 URL,而 srcset 属性用于指定一系列不同大小或分辨率的图像文件,以便浏览器可以选择最合适的图像来适应不同的设备和屏幕大小。

下面是一个具体的例子

HTML 里 img 元素的 src 和 srcset 属性的区别详解

HTML 里 img 元素的 src 和 srcset 属性的区别详解

src 里的 NmOQ 是默认值,类型为 zoom:

HTML 里 img 元素的 src 和 srcset 属性的区别详解

渲染图片

在现代浏览器中,当浏览器遇到一个带有 srcset 属性的 img 标签时,它将根据以下步骤来渲染图片:

  • 首先,浏览器会根据 devicePixelRatio (设备像素比)确定屏幕的实际像素密度。例如,Retina 显示屏幕的 devicePixelRatio 为 2。
  • 接下来,浏览器会将 srcset 属性的值解析为一组可用的图片资源和它们的尺寸。每个图片资源都包含了一个图片 URL 和一个描述该图片的宽度,例如:https://example.com/image-1000w.jpg 1000w
  • 浏览器根据屏幕的宽度和每张图片的宽度来计算出最佳的图片大小,这个大小就是要显示的图片的实际像素尺寸。例如,如果设备的宽度为 500px,浏览器会选择一个最接近 500px 的图片资源,例如图片宽度为 600px 的那张图片。
  • 最后,浏览器将选中的图片资源的 URL 赋给 img 元素的 src 属性,然后加载并显示该图片。

小结

浏览器会根据设备像素比、可用图片资源和设备宽度来自动选择和加载最佳的图片,从而实现高清晰度和响应式图片的效果。

以上就是HTML 里 img 元素的 src 和 srcset 属性的区别详解的详细内容,更多关于HTML img元素属性区别的资料请关注三水点靠木其它相关文章!

 
HTML / CSS 相关文章推荐
详解使用CSS3的@media来编写响应式的页面
Nov 01 HTML / CSS
css3背景_动力节点Java学院整理
Jul 11 HTML / CSS
CSS3实现王者匹配时的粒子动画效果
Apr 12 HTML / CSS
css3一个简易的 LED 数字时钟实现方法
Jan 15 HTML / CSS
使用CSS3制作版头动画效果
Dec 24 HTML / CSS
HTML5 本地存储 LocalStorage详解
Jun 24 HTML / CSS
使用phonegap操作数据库的实现方法
Mar 31 HTML / CSS
amazeui页面分析之登录页面的示例代码
Aug 25 HTML / CSS
使用layui框架实现点击左侧导航切换右侧内容且右侧选项卡跟随变化的效果
Nov 10 HTML / CSS
html+css实现滚动到元素位置显示加载动画效果
Aug 02 HTML / CSS
使用CSS设置滚动条样式
Jan 18 HTML / CSS
html网页引入svg图片的4种方式
Aug 05 HTML / CSS
CSS list-style-type属性使用方法
May 21 #HTML / CSS
Li list-style-image 图片垂直居中实现方法
May 21 #HTML / CSS
box-shadow单边阴影的实现
VW、VH适配移动端的解决方案与常见问题
May 21 #HTML / CSS
CSS 鼠标选中文字后改变背景色的实现代码
May 21 #HTML / CSS
什么是clearfix (一文搞清楚css清除浮动clearfix)
css清除浮动clearfix:after的用法详解(附完整代码)
May 21 #HTML / CSS
You might like
解析coreseek for sphinx的使用
2013/06/21 PHP
php实现多城市切换特效
2015/08/09 PHP
解决php表单重复提交实现方法
2015/09/29 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
[原创]php正则删除html代码中class样式属性的方法
2017/05/24 PHP
PHP Redis扩展无法加载的问题解决方法
2019/08/22 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
javascript 异常处理使用总结
2009/06/21 Javascript
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
javascript学习之闭包分析
2010/12/02 Javascript
js中top/parent/frame概述及案例应用
2013/02/06 Javascript
js下拉框二级关联菜单效果代码具体实现
2013/08/03 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
JavaScript实现在标题栏上显示当前日期的方法
2015/03/19 Javascript
javascript事件的绑定基础实例讲解(34)
2017/02/14 Javascript
使用Xcache缓存器加速PHP网站的配置方法
2017/04/22 Javascript
利用adb shell和node.js实现抖音自动抢红包功能(推荐)
2018/02/22 Javascript
Angular ng-animate和ng-cookies用法详解
2018/04/18 Javascript
node.js遍历目录的方法示例
2018/08/01 Javascript
对node通过fs模块判断文件是否是文件夹的实例讲解
2019/06/10 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
python多线程抽象编程模型详解
2019/03/20 Python
python实现串口自动触发工作的示例
2019/07/02 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
2020/02/24 Python
python实现控制台输出彩色字体
2020/04/05 Python
HTML5 Canvas+JS控制电脑或手机上的摄像头实例
2014/05/03 HTML / CSS
雅诗兰黛加拿大官网:Estee Lauder加拿大
2019/07/31 全球购物
医学生个人求职信范文
2013/09/24 职场文书
大学团支书的自我评价分享
2013/12/14 职场文书
《云雀的心愿》教学反思
2014/02/25 职场文书
群众路线党员个人剖析材料
2014/10/08 职场文书
奖学金个人总结
2015/03/04 职场文书
追悼会答谢词范文
2015/09/29 职场文书
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android