页头 logo 容器是 200x60,图片原始比例 1:1,显示出来圆标被横着拉长,肉眼能看出是椭的。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,img 上同时写了 width 100% 和 height 100%,浏览器按容器比例拉伸,不保留原始宽高比。设计给的图是方的,容器是长的。
「object-fit」这个问题文档写得含糊,实际行为以当前版本为准,别照旧版本的结论套。别只看报错的最后一行,往上看几行,真正的起因通常在上面。
.logo img {
width: 100%;
height: 100%;
object-fit: contain;
}
同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。
改完隔一天再看一次,当场正常不代表能稳住。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。
具体做法是,img 加 object-fit: contain 让图按比例放进容器;容器宽度改成自适应 别两个方向都写死;或者直接给 img 定 height 40px 宽度 auto;改完对着原图比一下比例。
最后用这个标准收尾,logo 保持原始比例 容器留白均匀 圆标不再变椭圆。
