body { --bottom-stack: 0px; }
.cookie-bar { bottom: var(--bottom-stack); }
body.notice-open { --bottom-stack: 120px; }

首次访问时公告弹窗底部和 Cookie 同意条完全重合,同意按钮被公告盖住,用户点不到只能刷新,移动端两条各占屏幕底部 120 像素。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。

追下去是这么回事:两个组件都用 fixed bottom: 0,没有互相避让的机制。公告的 z-index 比同意条高,遮住了按钮。同意条本身也没监听公告开关状态。

这次卡住的地方就在「公告与 Cookie 条重叠」这一环,单独把它拎出来验证,别和其他改动混在同一次发布里。监控和日志的时间要对上,时区不一致会多绕很大一圈。

临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。

处理上按这个顺序:给页面加一个底部占位变量,两个组件按顺序累加偏移;公告打开时把同意条往上推,关闭后还原;用无痕窗口首次访问,检查两条是否都完整可见可点。

确认没问题再收工,首次访问时公告和同意条上下排列,两个关闭按钮都能点到。

作者 9823189