微信小程序 - scroll-view 的一些要点(scroll-view 需要设置滚动方向、scroll-view 需要设置高度)

scroll-view 需要设置滚动方向

html 复制代码
<view class="page-container">
    <view class="other-data">other content</view>
    <scroll-view class="data-list">
        <view class="data-item">some content</view>
        <view class="data-item">some content</view>
        <view class="data-item">some content</view>
        <view class="data-item">some content</view>
        <view class="data-item">some content</view>
    </scroll-view>
</view>
css 复制代码
Page {
  width: 100%;
  height: 100%;

  .page-container {
    width: 100%;
    height: 100%;

    .other-data {
      height: 200rpx;
      background-color: aquamarine;
    }

    .data-list {
      box-sizing: border-box;
      width: 100%;
      height: calc(100% - 200rpx);
      padding: 40rpx;

      .data-item {
        box-sizing: border-box;
        width: 100%;
        height: 500rpx;
        border: 1rpx solid #bbbbbb;
        margin-top: 40rpx;

        &:first-child {
          margin-top: 0rpx;
        }
      }
    }
  }
}
  • 在上述代码中,scroll-view 无法滚动,因为 scroll-view 默认不滚动,需要明确设置 scroll-x 或 scroll-y 属性
html 复制代码
<scroll-view class="data-list" scroll-y>
    
    ...

</scroll-view>

scroll-view 需要设置高度

html 复制代码
<view class="page-container">
    <view class="other-data">other content</view>
    <scroll-view class="data-list" scroll-y>
        <view class="data-item">some content</view>
        <view class="data-item">some content</view>
        <view class="data-item">some content</view>
        <view class="data-item">some content</view>
        <view class="data-item">some content</view>
    </scroll-view>
</view>
css 复制代码
Page {
  width: 100%;
  height: 100%;

  .page-container {
    width: 100%;
    height: 100%;

    .other-data {
      height: 200rpx;
      background-color: aquamarine;
    }

    .data-list {
      box-sizing: border-box;
      width: 100%;
      padding: 40rpx;

      .data-item {
        box-sizing: border-box;
        width: 100%;
        height: 500rpx;
        border: 1rpx solid #bbbbbb;
        margin-top: 40rpx;

        &:first-child {
          margin-top: 0rpx;
        }
      }
    }
  }
}
  • 在上述代码中,scroll-view 无法滚动,实际滚动的是 view:page-container(因为 view:other-data 被连带滚动),scroll-view 未设置高度,无法计算可滚动区域,导致无法滚动
css 复制代码
.data-list {
    height: calc(100% - 200rpx);

    ...
}
相关推荐
hpz12231 分钟前
XHR和Fetch功能对比表格
前端·网络请求
我是小邵7 分钟前
【踩坑实录】一次 H5 页面在 PC 端的滚动条与轮播图修复全过程(Vue + Vant)
前端·javascript·vue.js
weixin_440730509 分钟前
Java基础学习day01
java·开发语言·学习
苹果电脑的鑫鑫12 分钟前
Css画圆弧的方法
前端·css
2501_9462309817 分钟前
Cordova&OpenHarmony外观主题设置
android·javascript
军军君0119 分钟前
Three.js基础功能学习一:环境资源及基础知识
开发语言·javascript·学习·3d·前端框架·threejs·三维
借个火er22 分钟前
Vue.js 源码揭秘(一):Vue3 架构总览
前端
千寻girling24 分钟前
面试官: “ 请你说一下什么是 ajax ? ”
前端·javascript
MQliferecord28 分钟前
webpack的生命周期与Loader/Plugin
前端
是垚不是土30 分钟前
基于DDNS-Go动态域名解析配置:实现多网络线路冗余切换方案
运维·开发语言·网络·阿里云·golang·运维开发