.site-nav a {
  display: flex; align-items: center;
  min-height: 44px; padding: 0 16px;
}

手机上菜单每项行高 24px,间距 4px,实测十个用户里有三个点错相邻项。开发者工具量出来命中区域只有 24×180。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。

原因不复杂,菜单链接的 padding 只写了左右,行高按字号算出来 24px,低于触摸目标建议的 44px。间距太小,两个链接的点击区域几乎贴在一起。

「菜单点击区域」排查到最后往往是很小的一处差异,前面那些复杂猜测可以先放一放。改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。

验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。

报错里带路径的,先去看那个路径在不在、权限对不对。

处理上按这个顺序:把菜单项的上下 padding 加到 12px 让高度到 44px;用 min-height 兜底 避免字号变化后又缩回去;相邻项之间留 8px 间距 别只靠 margin 撑。

改完只确认一件事:移动端菜单项高度 44px,连续点十次不再命中相邻项。

作者 9823189