Retina屏下图片模糊怎么解决?
我在用 React 做移动端页面,发现 iPhone 上的 logo 图片特别模糊,明明原图是 2x 的高清图。我试过直接放 2 倍图,但没用,是不是得用 srcset 或者 CSS 处理?
现在代码是这样写的:
function Logo() {
return (
<img
src="/assets/logo@2x.png"
alt="logo"
style={{ width: '100px', height: '40px' }}
/>
);
}
但显示出来还是糊的,难道要强制设置 devicePixelRatio 吗?求指点!
1. 首先确保图片确实是高清的,打开原图看看边缘是否锐利
2. 关键点是图片尺寸要匹配 - 你现在设置了100x40的显示尺寸,但@2x图片的实际尺寸应该是200x80
试试这样改:
或者更优雅的CSS方案:
两种方式我都试过效果不错。个人更推荐CSS方案,这样更清晰,还能避免图片加载时的闪烁问题。
对了,记得检查服务器是否正确配置了图片缓存,有时候模糊是因为加载了缩略图。