更新记录
1.0.0(2021-12-24)
下载此版本
修复一些bug,2021.12.23。
添加个人中心模板,2021.12.3。
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 3.1.0 app-vue app-nvue |
√ |
√ |
√ |
√ |
√ |
√ |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
lxm-tabsslot-coverimage是一个前端网页框架模板,一般用来做视频播放类首页和框架。
框架主要内容:选项卡插槽+图片覆盖视频+骨架屏+头像+透明顶部自定义导航栏插槽+底部导航中间加号按钮+个人中心
使用的工具和技术:使用uView2的UI工具和技术,支持nvue页面。还引用了几个开源组件。
cover-view和cover-image组件参数说明
一、cover-view
覆盖在原生组件上的文本视图。
app-vue和小程序框架,渲染引擎是webview的。但为了优化体验,部分组件如map、video、textarea、canvas通过原生控件实现,原生组件层级高于前端组件(类似flash层级高于div)。为了能正常覆盖原生组件,设计了cover-view。
平台差异说明
App H5 微信小程序 支付宝小程序 百度小程序 字节跳动小程序、飞书小程序 QQ小程序 快应用 360小程序 快手小程序
√ √ √ √ √ x √ √ x √
app-nvue所有组件均为原生渲染,不存在前端组件无法覆盖原生组件的问题。但为了保持多端兼容,nvue里也实现了cover-view,作用于普通view一样。
微信小程序部分原生组件实现了同层渲染,在指定的基础库版本上,某些原生组件可无需使用cover-view覆盖,详见
字节跳动小程序不需要cover-view,因其原生组件均实现了同层渲染。
360小程序不存在原生组件,无此概念。
cover-view 嵌套使用时,内部不可直接写文本节点,需要使用 cover-view 包裹。
支持的事件:click
属性名 类型 默认值 说明 平台差异说明
scroll-top number/string 设置顶部滚动偏移量,仅在设置了 overflow-y: scroll 成为滚动元素后生效 微信小程序2.1.0
二、cover-image
覆盖在原生组件上的图片视图。可覆盖的原生组件同cover-view,支持嵌套在cover-view里。
平台差异说明
App H5 微信小程序 支付宝小程序 百度小程序 字节跳动小程序、飞书小程序 QQ小程序 快应用 360小程序 快手小程序
√ √ √ √ √ x √ √ x √
属性说明
属性名 类型 默认值 说明 平台差异说明
src String 图标路径。支持本地路径、网络路径。不支持 base64 格式。
@load eventhandle 图片加载成功时触发 微信小程序 2.1.0
@error eventhandle 图片加载失败时触发 微信小程序 2.1.0
app-vue上可覆盖的原生组件:<video>、<map>
支持的事件:click
不支持的 CSS
position: fixed
opacity
overflow
padding
linebreak
white-space
注意:nvue的cover-view不在上述限制中,它仅支持且全部支持nvue的所有css。
Tips
App端vue页面 cover-view、cover-image 中不支持嵌套其它组件,包括再次嵌套cover-view,仅可覆盖video、map。App端nvue页面自2.1.5起没有这些限制。
App端 cover-image 使用本地图像的话,打包前需要设置资源为释放模式,在manifest文件内app-plus新增runmode节点,设置值为liberate。
App端还可以使用plus.nativeObj.view绘制原生内容,参考:uni-app中使用5+界面控件、plus.nativeObj.view规范
App端还提供了更灵活和强大的subNvue,参考原生子窗体subNvue
在 video 组件中使用时,若想在全屏模式下使用cover-view,只有在微信小程序、App端的nvue页面可实现。
在App端,如果重度使用video和map,推荐使用nvue页面。
百度小程序iOS端暂不支持一个页面有多个video时嵌套cover-view。
支付宝小程序中 cover-view 不支持嵌套。
微信小程序的cover-view使用注意:
cover-view和cover-image的aria-role仅可设置为button,读屏模式下才可以点击,并朗读出“按钮”;为空时可以聚焦,但不可点击
基础库 2.2.4 起支持 touch 相关事件,也可使用 hover-class 设置点击态
基础库 2.1.0 起支持设置 scale rotate 的 css 样式,包括 transition 动画
基础库 1.9.90 起 cover-view 支持 overflow: scroll,但不支持动态更新 overflow
基础库 1.9.90 起最外层 cover-view 支持 position: fixed
基础库 1.9.0 起支持插在 view 等标签下。在此之前只可嵌套在原生组件map、video、canvas、camera内,避免嵌套在其他组件内。
基础库 1.6.0 起支持css transition动画,transition-property只支持transform (translateX, translateY)与opacity。
基础库 1.6.0 起支持css opacity。
事件模型遵循冒泡模型,但不会冒泡到原生组件。
文本建议都套上cover-view标签,避免排版错误。
只支持基本的定位、布局、文本样式。不支持设置单边的border、background-image、shadow、overflow: visible等。
建议子节点不要溢出父节点
支持使用 z-index 控制层级
默认设置的样式有:white-space: nowrap; line-height: 1.2; display: block;
自定义组件嵌套 cover-view 时,自定义组件的 slot 及其父节点暂不支持通过 wx:if 控制显隐,否则会导致 cover-view 不显示
传奇开心果模板lxm-tabsslot-coverimageV1.0.0传奇开心果出品2021.12.23