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 box-sizing属性
Apr 17 HTML / CSS
CSS3 animation实现逐帧动画效果
Jun 02 HTML / CSS
CSS3中伪元素::before和::after的用法示例
Sep 18 HTML / CSS
CSS3属性 line-clamp控制文本行数的使用
Mar 19 HTML / CSS
html5 利用canvas手写签名并保存的实现方法
Jul 12 HTML / CSS
X/HTML5 和 XHTML2
Oct 17 HTML / CSS
html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
Jan 09 HTML / CSS
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
Jul 04 HTML / CSS
浅析HTML5:'data-'属性的作用
Jan 23 HTML / CSS
AmazeUI框架搭建的方法步骤(图文)
Aug 17 HTML / CSS
css 边框添加四个角的实现代码
Oct 16 HTML / CSS
HTML中的表格元素介绍
Feb 28 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函数(简单整理)
2010/04/30 PHP
php简单提示框alert封装函数
2010/08/08 PHP
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
一个tab标签切换效果代码
2009/03/27 Javascript
浅谈JavaScript之事件绑定
2013/07/08 Javascript
js中parseInt函数浅谈
2013/07/31 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
2014/08/15 Javascript
js控制页面的全屏展示和退出全屏显示的方法
2015/03/10 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
2015/08/20 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
微信小程序 wxapp内容组件 icon详细介绍
2016/10/31 Javascript
React学习笔记之条件渲染(一)
2017/07/02 Javascript
详解Vue + Vuex 如何使用 vm.$nextTick
2017/11/20 Javascript
解决vue 更改计算属性后select选中值不更改的问题
2018/03/02 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
2018/08/09 jQuery
Vue CLI3搭建的项目中路径相关问题的解决
2018/09/17 Javascript
angular 用Observable实现异步调用的方法
2018/12/27 Javascript
Python实现控制台输入密码的方法
2015/05/29 Python
Python中shutil模块的常用文件操作函数用法示例
2016/07/05 Python
利用Django内置的认证视图实现用户密码重置功能详解
2017/11/24 Python
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
cProfile Python性能分析工具使用详解
2019/07/22 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
如何在Python对Excel进行读取
2020/06/04 Python
HTML5 拖放(Drag 和 Drop)详解与实例代码
2017/09/14 HTML / CSS
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
英国天然有机美容护肤品:Neal’s Yard Remedies
2018/05/05 全球购物
sort命令的作用和用法
2012/11/04 面试题
《小池塘》教学反思
2014/02/28 职场文书
企业演讲比赛主持词
2014/03/18 职场文书
工作鉴定评语
2014/05/04 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
安全生产学习心得体会
2016/01/18 职场文书
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang