当前位置: 首页 > news >正文

uni-app项目实战笔记3--使用scroll-view实现每日推荐左右滑动效果

先来看效果:

实现过程:

1.在项目根目录下创建公共组件的目录components,在里边创建一个common-title组件,里边暂时先输入“每日推荐”4个字。在index.vue引入该组件;

2.在推荐的内容区使用scroll-view实现可滚动的视图容器实现左右滑动展示推荐的内容。

来看代码的具体实现:

<view class="select"><common-title></common-title><view class="content"><scroll-view scroll-x><view class="box" v-for="item in 8"><image src="/common/images/preview_small.webp" mode="aspectFill"></image></view></scroll-view></view>
</view>

 scroll-view 的 scroll-x 属性用于实现 横向滚动(水平滚动) 的容器

再来看SCSS的代码:

.select{padding-top: 30rpx;.content{width: 720rpx;margin-left: 30rpx;margin-top: 30rpx;scroll-view{white-space: nowrap;.box{width: 200rpx;height: 430rpx;display: inline-block;margin-right: 15rpx;image{width: 100%;height: 100%;border-radius: 10rpx;}}.box:last-child{margin-right: 30rpx;}}}}

1. 整体结构效果

外层容器 .select
.select {padding-top: 30rpx;  // 顶部内边距 30rpx
}
  • 作用:为整个选择器区域添加顶部间距,避免内容紧贴页面顶部。

内容区域 .content
.content {width: 720rpx;        // 固定宽度 720rpxmargin-left: 30rpx;   // 左外边距 30rpxmargin-top: 30rpx;    // 顶部外边距 30rpx
}
  • 效果

    • 内容区域宽度为 720rpx,左侧留白 30rpx(可能用于对齐其他元素)。

    • 与上方元素保持 30rpx 的间距。

2. 横向滚动区域 scroll-view

scroll-view {white-space: nowrap;  // 禁止子元素换行(关键属性)
}
  • 作用

    • white-space: nowrap 强制所有子元素(.box)在同一行排列,实现横向滚动。

    • 需配合 scroll-x="true" 使用(HTML 中需显式声明)。

3. 横向滚动子项 .box

.box {width: 200rpx;           // 固定宽度height: 430rpx;          // 固定高度display: inline-block;   // 横向排列关键属性margin-right: 15rpx;     // 右侧间距 15rpximage {width: 100%;           // 图片撑满容器height: 100%;          // 图片撑满容器border-radius: 10rpx;  // 圆角 10rpx}
}
.box:last-child {margin-right: 30rpx;     // 最后一个子项右侧间距增大
}
  • 效果

    • 每个 .box 是一个 固定尺寸(200×430rpx)的横向卡片,内部包含一张图片。

    • 图片完全填充卡片,并带有 10rpx 圆角。

    • 卡片之间通过 margin-right: 15rpx 保持间距,最后一个卡片右侧间距为 30rpx。

http://www.xdnf.cn/news/994609.html

相关文章:

  • Notepad++如何列选
  • 【idea】工具使用报错记录
  • 解决 IntelliJ IDEA 中无法选择 application 模块类路径的问题
  • OpenCV——图像金字塔
  • CVE-2020-1938源码分析与漏洞复现(Tomcat 文件包含/读取)
  • 【自建grafana接入阿里云sls】
  • 力扣HOT100之终章:一些随笔
  • LeetCode 3423.循环数组中相邻元素的最大差值:遍历(模拟)
  • wordpress首页调用指定ID页面内的相册
  • 如何有效监控JVM环境,保障应用性能
  • 使用COMSOL生成数据与DeepONet学习静电场电势分布
  • 【消息队列】——Kafka如何保证配置下发的一致性
  • 博图SCL语言教程:灵活加、减计数制作自己的增减计数器(CTUD)
  • 智能云打印机EN 18031申请认证流程
  • Mongodb学习(Windows版本)
  • MongoDB 安装实践:基于鲲鹏 ARM 架构 Ubuntu 环境
  • 需求文档:边缘计算机软件重装与物联网登录应用开发
  • 【新能源汽车技术全景解析:构建智能出行新生态】
  • 华为云Flexus+DeepSeek征文| 基于Dify-LLM平台应用实践:创建智能知识库问答助手
  • 离线部署openstack 2024.1控制节点基础服务
  • Webpack 剖析与策略
  • 部署http服务
  • Redis+Kafka实现动态延时任务
  • Java项目中订单未支付过期如何实现自动关单
  • 68、.NET Entity Framework(EF)
  • Hugo 自动化部署实战-部署 Hugo 到 Netlify
  • .NET 类库开发详细指南c
  • [python] 使用python设计滤波器
  • uniapp小程序不支持动态组件问题
  • Flask 应用中执行指定 JavaScript 脚本