cover-view

基础库 1.4.0 开始支持,低版本需做兼容处理

覆盖在原生组件之上的文本视图,可覆盖的原生组件包括mapvideocanvascameralive-playerlive-pusher,只支持嵌套cover-viewcover-image

属性名 类型 默认值 说明 最低版本
scroll-top Number 设置顶部滚动偏移量,仅在设置了 overflow-y: scroll 成为滚动元素后生效 2.1.0

cover-image

基础库 1.4.0 开始支持,低版本需做兼容处理

覆盖在原生组件之上的图片视图,可覆盖的原生组件同cover-view,支持嵌套在cover-view里。

属性名 类型 默认值 说明 最低版本
src String 图标路径,支持临时路径、网络地址(1.6.0起支持)。暂不支持base64格式。
bindload EventHandle 图片加载成功时触发 2.1.0
binderror EventHandle 图片加载失败时触发 2.1.0
Bug & Tips

    • tip: 基础库 2.1.0 起支持设置 scale rotate 的css样式,包括transition动画
    • tip: 基础库 1.9.90 起 cover-view 支持 overflow: scroll,但不支持动态更新 overflow
    • tip: 基础库 1.9.90 起最外层 cover-view 支持 position: fixed
    • tip: 基础库 1.9.0 起支持插在 view 等标签下。在此之前只可嵌套在原生组件map、video、canvas、camera内,避免嵌套在其他组件内。
    • tip: 基础库 1.6.0 起支持css transition动画,transition-property只支持transform (translateX, translateY)与opacity。
    • tip: 基础库 1.6.0 起支持css opacity。
    • tip: 事件模型遵循冒泡模型,但不会冒泡到原生组件。
    • tip: 文本建议都套上cover-view标签,避免排版错误。
    • tip: 只支持基本的定位、布局、文本样式。不支持设置单边的border、background-image、shadow、overflow: visible等。
    • tip: 建议子节点不要溢出父节点
    • tip: 默认设置的样式有:white-space: nowrap; line-height: 1.2; display: block;
    • bug: 自定义组件嵌套 cover-view 时,自定义组件的 slot 及其父节点暂不支持通过 wx:if 控制显隐,否则会导致 cover-view 不显示

示例:

在开发者工具中预览效果

  1. <video id="myVideo" src="http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400" controls="{{false}}" event-model="bubble">
  2. <cover-view class="controls">
  3. <cover-view class="play" bindtap="play">
  4. <cover-image class="img" src="/path/to/icon_play" />
  5. </cover-view>
  6. <cover-view class="pause" bindtap="pause">
  7. <cover-image class="img" src="/path/to/icon_pause" />
  8. </cover-view>
  9. <cover-view class="time">00:00</cover-view>
  10. </cover-view>
  11. </video>
  1. .controls {
  2. position: relative;
  3. top: 50%;
  4. height: 50px;
  5. margin-top: -25px;
  6. display: flex;
  7. }
  8. .play,.pause,.time {
  9. flex: 1;
  10. height: 100%;
  11. }
  12. .time {
  13. text-align: center;
  14. background-color: rgba(0, 0, 0, .5);
  15. color: white;
  16. line-height: 50px;
  17. }
  18. .img {
  19. width: 40px;
  20. height: 40px;
  21. margin: 5px auto;
  22. }
  1. Page({
  2. onReady() {
  3. this.videoCtx = wx.createVideoContext('myVideo')
  4. },
  5. play() {
  6. this.videoCtx.play()
  7. },
  8. pause() {
  9. this.videoCtx.pause()
  10. }
  11. })

原文:

https://developers.weixin.qq.com/miniprogram/dev/component/cover-view.html