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五个技巧给你的网站带来出色的效果
Apr 02 HTML / CSS
css3闪亮进度条效果实现思路及代码
Apr 17 HTML / CSS
css3+jq创作含苞待放的荷花
Feb 20 HTML / CSS
纯CSS3实现的阴影效果
Dec 24 HTML / CSS
HTML5新表单元素_动力节点Java学院整理
Jul 12 HTML / CSS
IE9下html5初试小刀
Sep 21 HTML / CSS
浅析HTML5的WebSocket与服务器推送事件
Feb 19 HTML / CSS
HTML5+CSS3实现机器猫
Oct 17 HTML / CSS
HTML5新特性之语义化标签
Oct 31 HTML / CSS
canvas绘图按照contain或者cover方式适配并居中显示
Feb 18 HTML / CSS
html5 canvas 实现光线沿不规则路径运动
Apr 20 HTML / CSS
CSS 左边固定宽右边自适应的6种方法
May 15 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使之能同时支持GIF和JPEG
2006/10/09 PHP
PHP中的strtr函数使用介绍(str_replace)
2011/10/20 PHP
php实现singleton()单例模式实例
2014/11/06 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
mysqli扩展无法在PHP7下升级问题的解决
2019/09/10 PHP
PHP tp5中使用原生sql查询代码实例
2020/10/28 PHP
根据分辨率不同,调用不同的css文件
2006/08/25 Javascript
JS实现self的resend
2010/07/22 Javascript
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
js数值计算时使用parseInt进行数据类型转换(jquery)
2014/10/07 Javascript
Javascript基础教程之while语句
2015/01/18 Javascript
jquery实现右键菜单插件
2015/03/29 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
2016/09/04 Javascript
浅谈js for循环输出i为同一值的问题
2017/03/01 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
laydate时间日历插件使用方法详解
2018/11/14 Javascript
jQuery事件多次绑定与解绑问题实例分析
2019/02/19 jQuery
OpenLayers实现图层切换控件
2020/09/25 Javascript
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
python del()函数用法
2013/03/24 Python
Python中的高级函数map/reduce使用实例
2015/04/13 Python
详细解读Python中解析XML数据的方法
2015/10/15 Python
PyQt5 QSerialPort子线程操作的实现
2018/04/21 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
pandas读取csv文件,分隔符参数sep的实例
2018/12/12 Python
python实现的config文件读写功能示例
2019/09/24 Python
PageFactory设计模式基于python实现
2020/04/14 Python
python matplotlib:plt.scatter() 大小和颜色参数详解
2020/04/14 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
爱尔兰旅游网站:ebookers.ie
2020/01/24 全球购物
政府绩效管理实施方案
2014/05/04 职场文书
广场舞大赛策划方案
2014/05/31 职场文书
工作违纪的检讨书范文
2019/07/09 职场文书
导游词之藏龙百瀑景区
2019/12/30 职场文书
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS