<overlay><overlay> 是一个不参与页面布局的承载容器。它本身不占据任何空间,也不需要设置宽度和高度。
<overlay>被渲染时,其内部的内容完全脱离 Lynx 文档流,被提升到 Lynx 之外的渲染层级进行展示。
<overlay>的唯一子节点默认以屏幕尺寸作为宽高基准,推荐将其视为一个独立的绘制容器,用于承载完整的蒙层内容。
适用场景
<overlay>来构建弹窗,达到覆盖整个应用页面的效果。<overlay>,直接使用position: fixed即可构建弹窗能力。<overlay>只能有一个直接子节点
<overlay>自身必须设置 position:fixed
<overlay>的唯一子节点作为 backdrop 容器:width: 100%; height: 100%z-index:0
ios-enable-swipe-back当 overlay 显示时,'true' 允许右滑关闭当前页面,'false' 不允许。
level引入层级概念,共分为四个层级。层级数字越大越靠近底部。默认为第 1 层。层级按 1 到 4 的顺序排列,显示的层级是指定的,不受显示顺序影响。同一层级内的排列遵循“后进先出”逻辑。overlay 显示期间不可动态调整层级,只能在隐藏时调整。*
mode指定 iOS 上 overlay 内容的挂载层级。window:挂载到窗口(应用顶层);top:挂载到 topViewController;page:挂载到 UINavigationController;others:在客户端自定义类名。
visible控制 overlay 是否显示
前端可绑定对应事件回调以监听元素运行时行为,如下所示。
binddismissoverlayoverlay 隐藏时回调。
binderror| 字段 | 类型 | 可选 | 默认 | 平台 | 起始版本 | 说明 |
|---|---|---|---|---|---|---|
| errorCode | string | 否 | – | Android only | 错误码:0 - 正常显示;非 0 - 无法显示,可尝试通过下文提到的预加载方案适配容器来解决。 | |
| errorMsg | string | 否 | – | Android only | 错误信息 |
触摸 overlay 时回调。
bindoverlaytouch| 字段 | 类型 | 可选 | 默认 | 平台 | 起始版本 | 说明 |
|---|---|---|---|---|---|---|
| state | OverlayTouchState | 否 | – | Android only iOS only Clay only | 触摸状态 | |
| x | number | 否 | – | Android only iOS only Clay only | 相对窗口的 x 坐标,单位 px | |
| y | number | 否 | – | Android only iOS only Clay only | 相对窗口的 y 坐标,单位 px |
触摸 overlay 时回调。
bindrequestclose点击返回按钮时回调。
bindshowoverlayoverlay 显示时回调。
LCD tables only load in the browser