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实现图片抽屉式效果的示例代码
Nov 06 HTML / CSS
CSS 说明横向进度条最后显示文字的实现代码
Nov 10 HTML / CSS
html5 Canvas绘制线条 closePath()实例代码
May 10 HTML / CSS
HTML5 画布canvas使用方法
Mar 18 HTML / CSS
canvas裁剪clip()函数的具体使用
Mar 01 HTML / CSS
canvas 如何绘制线段的实现方法
Jul 12 HTML / CSS
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
Aug 28 HTML / CSS
解锁canvas导出图片跨域的N种姿势小结
Jan 24 HTML / CSS
HTML5自定义属性的问题分析
Aug 16 HTML / CSS
html5移动端价格输入键盘的实现
Sep 16 HTML / CSS
移动端HTML5 input常见问题(小结)
Sep 28 HTML / CSS
CSS3 实现NES游戏机的示例代码
Apr 21 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 checkdate、getdate等日期时间函数操作详解
2010/03/11 PHP
优化PHP程序的方法小结
2012/02/23 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
2019/02/15 PHP
在线编辑器的实现原理(兼容IE和FireFox)
2007/03/09 Javascript
js 中{},[]中括号,大括号使用详解
2011/05/12 Javascript
jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法
2013/05/13 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
禁止IE用右键的JS代码
2013/12/30 Javascript
angularjs 处理多个异步请求方法汇总
2015/01/06 Javascript
jQuery的事件委托实例分析
2015/07/15 Javascript
基于javascript编写简单日历
2016/05/02 Javascript
Angular 页面跳转时传参问题
2016/08/01 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
2016/09/25 Javascript
老生常谈Javascript中的原型和this指针
2016/10/09 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
2017/01/23 Javascript
ES6数组的扩展详解
2017/04/25 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
layui关闭层级、简单监听的实例
2019/09/06 Javascript
详解React 条件渲染
2020/07/08 Javascript
浅谈python的dataframe与series的创建方法
2018/11/12 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
Python分支语句与循环语句应用实例分析
2019/05/07 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
美国购买体育赛事门票网站:TicketCity
2019/03/06 全球购物
购房协议书范本
2014/10/02 职场文书
营销经理工作检讨书
2014/11/03 职场文书
呼兰河传读书笔记
2015/06/30 职场文书
Pytorch中TensorBoard及torchsummary的使用详解
2021/05/12 Python
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL
图片批量处理 - 尺寸、格式、水印等
2022/03/07 杂记