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 相关文章推荐
纯CSS实现预加载动画效果
Sep 06 HTML / CSS
纯CSS绘制漂亮的圆形图案效果
May 07 HTML / CSS
纯CSS3代码实现文字描边
Apr 25 HTML / CSS
CSS3制作轮播图的一种方法
Nov 11 HTML / CSS
css3 transform过渡抖动问题解决
Oct 23 HTML / CSS
HTML5 canvas基本绘图之绘制线段
Jun 27 HTML / CSS
h5调用摄像头的实现方法
Jun 01 HTML / CSS
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
Dec 16 HTML / CSS
HTML5 图片预加载的示例代码
Mar 25 HTML / CSS
完美实现CSS垂直居中的11种方法
Mar 27 HTML / CSS
浅谈css实现背景颜色半透明的两种方法
Dec 06 HTML / CSS
html粘性页脚的具体使用
Jan 18 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站内搜索并高亮显示关键字的实现代码
2011/12/29 PHP
PHP+jQuery实现自动补全功能源码
2013/05/15 PHP
PHP curl 获取响应的状态码的方法
2014/01/13 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
thinkphp下MySQL数据库读写分离代码剖析
2017/04/18 PHP
JS类的封装及实现代码
2009/12/02 Javascript
JavaScript splice()方法详解
2020/09/22 Javascript
基于socket.io和node.js搭建即时通信系统
2014/07/30 Javascript
javascript实现checkbox全选的代码
2015/04/30 Javascript
javascript实现自动填写表单实例简析
2015/12/02 Javascript
js前端面试题及答案整理(一)
2016/08/26 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
微信小程序 底部导航栏目开发资料
2016/12/05 Javascript
Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)
2017/05/30 Javascript
Angular弹出模态框的两种方式
2017/10/19 Javascript
vue实现在线学生录入系统
2020/05/30 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
python实现rsa加密实例详解
2017/07/19 Python
PyTorch线性回归和逻辑回归实战示例
2018/05/22 Python
Python画柱状统计图操作示例【基于matplotlib库】
2018/07/04 Python
解决Django生产环境无法加载静态文件问题的解决
2019/04/23 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
2020/07/09 Python
HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)
2017/08/24 HTML / CSS
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
PHP中如何使用Cookie
2015/10/28 面试题
市场营销个人求职信范文
2014/02/02 职场文书
《春笋》教学反思
2014/04/15 职场文书
干部选拔任用方案
2014/05/26 职场文书
领导欢送会主持词
2015/07/06 职场文书
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python
python 闭包函数详细介绍
2022/04/19 Python
JavaScript实现九宫格拖拽效果
2022/06/28 Javascript