打开菜单时只改变三个状态
菜单本体加入打开状态,遮罩加入可见状态,页面主体锁定滚动。这样用户可以清楚看到侧边菜单,同时避免背景误触。点遮罩、点关闭按钮或按 Esc 都应执行同一套关闭逻辑。
窄屏顶部左侧是菜单,中间是品牌,右侧是注册入口。三个区域保持单行,不把品牌挤到下一行,也不让按钮覆盖菜单。正文从正常页面流向下延伸,底部快捷固定在屏幕下方,因此页脚额外预留空间,避免最后一段文字被遮住。
遮罩只在菜单打开时接受点击;默认状态保持隐藏并关闭指针事件。关闭动作会同时清除菜单、遮罩和页面锁定三个状态,所以用户不需要刷新页面才能继续点链接。这个行为也是手机端验收的重点之一。
页面本身禁止横向滚动,所有元素最大宽度受容器限制。即使主题名称较长,也会在允许的区域内排版,而不是把整页撑出屏幕。
这套规则也保证未打开菜单时,页面一进入就能正常点击,不需要先执行任何关闭动作。