记录img标签with和height属性,如何影响图片渲染问题

先上结论

总结如下:

当我们设置一段如下的代码时

js 复制代码
<img src="https://live.mdnplay.dev/zh-CN/docs/Web/HTML/Element/img/clock-demo-400px.png" 
width="100" height="100" alt="MDN logo" 
srcset="clock-demo-400px.png" />

原图的尺寸是400 * 398并不是一个规则的正方形,但我们对img标签的width, height属性做如下调整

  1. 如果<img>标签只是设置了width时:

从上图我们可以看出,最终整个图片的渲染尺寸,是200 * 199尺寸,等同于以img的width的属性为最终的渲染基准,然后以原图的宽高比进行缩放,得出最终的渲染高度为199px

  1. 如果<img>标签只是设置了height时:

从上图我们可以看出,最终整个图片的渲染尺寸,是201 * 200尺寸,等同于以img的height的属性为最终的渲染基准,然后以原图的宽高比进行缩放,得出最终的渲染宽度为199px

  1. 如果<img>标签同时设置了widthheight时:

从上图我们可以看出,最终整个图片的渲染尺寸,是100 * 200尺寸,等同于以img的width * height的属性为最终的渲染结果,不再进行缩放

总结

知识点虽然小,但是也值得记录。

上述只是自己浅浅理解,肯定存在些许错误,如有错误,恳请指正

相关推荐
kyriewen8 分钟前
我读了一遍 Babel 编译后的 async/await,终于搞懂了它的原理(附 20 行手写实现)
前端·javascript·面试
IT_陈寒36 分钟前
Vite项目build后路由404了?你可能漏了这个小配置
前端·人工智能·后端
lichenyang45342 分钟前
AI 聊天从纯文本到结构化卡片:SSE done 帧携带 card + 历史记录卡片恢复实战
前端
梦曦i1 小时前
@meng-xi/vite-plugin v0.1.5:告别手动 import,精简工具层
前端
梦曦i1 小时前
Vite 0.1.6重磅更新:智能导入+路由安全
前端
gxf5203088069882 小时前
Flutter 裁剪图片
前端·app
半岛@少年2 小时前
都是JS,CJS和ESM有什么区别?
javascript·esm·前端模块化·cjs
想吃火锅10052 小时前
【leetcode】165.比较版本号js
javascript·算法·leetcode
ITMan彪叔2 小时前
赋能UE运行态编辑平台: 网络图片下载的插件改造与复盘
前端
RANxy2 小时前
🚀 Umi Max 项目从0到1:企业级 React 脚手架实战
前端·前端框架