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的特性改变文本选中时的颜色
Sep 11 HTML / CSS
一款恶搞头像特效的制作过程 利用css3和jquery
Nov 21 HTML / CSS
CSS3圆角和渐变2种常用功能详解
Jan 06 HTML / CSS
CSS3实现swap交换动画
Jan 19 HTML / CSS
canvas画布实现手写签名效果的示例代码
Apr 23 HTML / CSS
纯html5+css3下拉导航菜单实现代码
Mar 18 HTML / CSS
基于IE10/HTML5 开发
Apr 22 HTML / CSS
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
Oct 23 HTML / CSS
canvas 如何绘制线段的实现方法
Jul 12 HTML / CSS
手对手的教你用canvas画一个简单的海报的方法示例
Dec 10 HTML / CSS
HTML5 图片预加载的示例代码
Mar 25 HTML / CSS
Bootstrap File Input文件上传组件
Dec 01 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
坏狼的PHP学习教程之第2天
2008/06/15 PHP
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
2009/07/01 PHP
PHP 实用代码收集
2010/01/22 PHP
PHP分页详细讲解(有实例)
2013/10/30 PHP
yii添删改查实例
2015/11/16 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
比较简单的一个符合web标准的JS调用flash方法
2007/11/29 Javascript
js调用flash的效果代码
2008/04/26 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
JavaScript计算两个日期时间段内日期的方法
2015/03/16 Javascript
详解JavaScript的while循环的使用
2015/06/03 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
angular directive的简单使用总结
2017/05/24 Javascript
vue组件传递对象中实现单向绑定的示例
2018/02/28 Javascript
基于JS实现html中placeholder属性提示文字效果示例
2018/04/19 Javascript
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
解决angularjs WdatePicker ng-model的问题
2018/09/13 Javascript
webpack4从0搭建组件库的实现
2020/11/29 Javascript
python 自动提交和抓取网页
2009/07/13 Python
简单介绍Python中的readline()方法的使用
2015/05/24 Python
python如何在终端里面显示一张图片
2016/08/17 Python
python随机数分布random测试
2018/08/27 Python
python 3.6.4 安装配置方法图文教程
2018/09/18 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
Pycharm修改python路径过程图解
2020/05/22 Python
python实现每天自动签到领积分的示例代码
2020/08/18 Python
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
管理专员自荐信
2014/01/26 职场文书
中小学生学籍证明
2014/10/25 职场文书
大学辅导员述职报告
2015/01/10 职场文书
2015年小学师德师风建设工作总结
2015/10/23 职场文书