F2.12.3bleed background, inset content设计
背景应延伸至安全区外,内容不应
别名: edge-to-edge · 安全区延伸 · viewport-fit cover
概念解释
聊天列表的底色如果在指示条上方收住,底下会空出一条黑带,像应用没装完。地图如果连同「导航」按钮一起铺到物理底边,按钮又进了手势带。正确的拆法:背景画到玻璃边,文本和控件停在安全区内框里。安全区是内容的内缩,不是把整块视口信箱化。
这条专门管延伸和内缩的分工,不管角上会不会被切、底带能不能点——那两笔已经分开记账。
机制
全面屏的预期是屏幕即设备,边缘不再有黑框。背景(导航栏色、列表底、英雄图、地图)不需要在被遮的像素里可读,所以可以、也应该画进刘海和指示条下面,避免信箱。文字和控件需要完整像素和可点命中,所以必须停在 inset 内。viewport-fit=cover 让网页不再被系统自动加信箱;若不跟着用环境变量补内缩,内容会顶到裁切区。
把整页当成一个 inset,背景和内容一起退,得到过时的黑边。把整页当成一个 bleed,内容和背景一起顶,得到裁切和误触。分工是同一套坐标里的两层。
边界
需要绝对沉浸、连控件都隐藏的播放器,两层可以暂时都 bleed,轻触再把控件唤回内框。桌面和没有异形的设备,两层重合,分工看不出差别。强制安全区的截屏、录屏,有时会把 bleed 的背景裁掉,那是出品管线,不是运行时布局。
横屏、折叠展开,两层的边界都要重算,不能只竖屏设一次。
怎么落地
- 背景层(色、图、地图)铺满物理视口;内容层用安全区 padding 或等价 inset。网页打开
viewport-fit=cover,并用环境变量写内缩。 - 导航栏、工具条的底色延伸进不安全区,上面的标题和按钮仍在安全区内。
- 验证:看刘海和指示条后面是不是应用自己的色或图,而不是黑条或白条。然后确认没有字、没有按钮进那两块。失败两种:信箱(背景没延伸),或内容 bleed(该缩的没缩)。横屏、有键盘弹出时再查一次,键盘会改底部 inset。