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,js)
Dec 12 HTML / CSS
CSS3动画特效在活动页中的应用
Jan 21 HTML / CSS
使用CSS3制作版头动画效果
Dec 24 HTML / CSS
HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
Dec 09 HTML / CSS
HTML5中如何显示视频呢 HTML5视频播放demo
Jun 08 HTML / CSS
HTML5标签嵌套规则详解【必看】
Apr 26 HTML / CSS
HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果
Apr 26 HTML / CSS
详解如何使用rem或viewport进行移动端适配
Aug 14 HTML / CSS
使用HTML5加载音频和视频的实现代码
Nov 30 HTML / CSS
HTML中table表格拆分合并(colspan、rowspan)
Apr 07 HTML / CSS
Html5调用企业微信的实现
Apr 16 HTML / CSS
html原生table实现合并单元格以及合并表头的示例代码
May 07 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
ThinkPHP通过AJAX返回JSON的两种实现方法
2014/12/18 PHP
ThinkPHP的SAE开发相关注意事项详解
2016/10/09 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
浅谈php常用的7大框架的优缺点
2020/07/20 PHP
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
js内置对象 学习笔记
2011/08/01 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
基于js对象,操作属性、方法详解
2016/08/11 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
javascript实现无法关闭的弹框
2016/11/27 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
AnglarJs中的上拉加载实现代码
2018/02/08 Javascript
vue项目设置scrollTop不起作用(总结)
2018/12/21 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
2019/04/08 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
2020/02/15 Javascript
全面解析JavaScript Module模式
2020/07/24 Javascript
Python HTMLParser模块解析html获取url实例
2015/04/08 Python
Python类定义和类继承详解
2015/05/08 Python
深入浅析python中的多进程、多线程、协程
2016/06/22 Python
python 链接和操作 memcache方法
2017/03/04 Python
快速解决docker-py api版本不兼容的问题
2019/08/30 Python
Python内存映射文件读写方式
2020/04/24 Python
解决PDF 转图片时丢文字的一种可能方式
2021/03/04 Python
HTML5边玩边学(1)画布实现方法
2010/09/21 HTML / CSS
Chicco婴儿用品美国官网:汽车座椅、婴儿推车、高脚椅等
2018/11/05 全球购物
争先创优公开承诺书
2014/08/30 职场文书
2015共产党员公开承诺书
2015/01/22 职场文书
工作推荐信模板
2015/03/25 职场文书
费城故事观后感
2015/06/10 职场文书
python随机打印成绩排名表
2021/06/23 Python