<img src="/img/logo.png"
     srcset="/img/logo.png 1x, /img/logo@2x.png 2x"
     width="160" height="40" alt="品牌名">

MacBook 上页头 logo 边缘发毛,同一张图在普通显示器上很清楚,截图放大能看到每个像素被拉成了两倍。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。

追下去是这么回事:只提供了一张按 CSS 像素尺寸切的图,2x 屏上被放大两倍渲染。位图放大必然发虚,矢量图不会有这个问题。

围绕「retina logo」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。同一份配置存在多处的,先确认改的是被加载的那一份。

新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。

接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。

处理上按这个顺序:优先换 SVG 一劳永逸;保留位图就再切一张 2x 用 srcset 声明密度;img 上写死 width 和 height 防止布局跳动;在 2x 屏上按 200% 缩放看边缘是否干净。

确认没问题再收工,2x 屏上 logo 边缘锐利 和设计稿缩放后一致。

作者 9823189