解决图片放大模糊

首先需要了解设备像素CSS像素CSS像素 是 Web 开发中的逻辑像素,设计者根据这些像素来布局页面。设备像素 是设备屏幕上的实际像素点数。

DPR 是 设备像素 和 CSS像素 的比率,所以进行缩放后,也需要对图片尺寸进行处理,以确保清晰度。图像尺寸 = CSS尺寸 * DPR。

可以通过 window.devicePixelRatio 获取当前缩放比例

将图片尺寸根据DPR缩放,150 * 4

更加清晰了

可以使用 srcset 属性设置多个尺寸的图片,浏览器会自动选择最合适的图片

当图片宽高不固定时,上面的方法就不适用了,因为无法确定CSS像素大小,需要使用下面写法

w标识设备像素,浏览器会根据当前设备的视口宽度,结合 sizes 属性计算出图片实际在页面上占据的尺寸(CSS 像素)。然后根据 srcset 中提供的图片宽度选择最合适的图片。

如果视口宽度为 400 像素,且 sizes 指定图片占据 50vw,则图片会占据视口宽度的一半,也就是 200 像素。浏览器会在 srcset 中选择最接近 200 像素的图片,也就是宽度为 300 像素的图片(300w)。

相关推荐
悠哉摸鱼大王1 分钟前
前端音视频学习(一)- 基本概念
前端
stella·8 分钟前
后端二进制文件,现代前端如何下载
前端·ajax·状态模式·axios·request·buffer·download
奋斗猿9 分钟前
Less vs Scss 全解析:从语法到实战的前端样式预处理器指南
前端
Web - Anonymous12 分钟前
使用Vue3 + Elementplus + Day.js 实现日期选择器(包括日、周、月、年、自定义) - 附完整示例
前端·javascript·vue.js
冴羽15 分钟前
2025 年 HTML 年度调查报告亮点速览!
前端·javascript·html
张元清15 分钟前
浏览器硬导航优化:提升用户体验的关键
前端·javascript·面试
程序员爱钓鱼18 分钟前
Node.js 编程实战:博客系统 —— 用户注册登录与文章管理
前端·后端·node.js
xkxnq19 分钟前
第二阶段:Vue 组件化开发(第 23天)
前端·javascript·vue.js
zcz160712782120 分钟前
nmcli常见操作
前端·chrome
晴栀ay23 分钟前
JS的超集——TypeScript
前端·react.js·typescript