百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

小程序学习日志7:可滚动的视图区域组件(滚动条)

bigegpt 2025-03-06 12:24 9 浏览

导读

经过这段日子的学习,大家对小程序的了解多了多少呢?

我们这段时间学了很多组件的用法,以及这些组件的属性和属性的合法值,图片、文字、块,还了解了不少的样式代码和小程序的基本知识。

我们今天来讲一个可滚动的视图区域组件。

可滚动的视图区域组件是什么?

简单来说,就是当窗口面积不大的时候,可以通过滚动看到更多的内容。

这个就有点类似新闻类小程序的功能了。具体是什么大家也能想得到。


scroll-view组件的scroll-y和scroll-x属性:竖着拖动和横着拖动

老规矩,我们先打开微信小程序开发者文档看一下这个组件的一些属性。

scroll组件

在开始的之前,我们先新建一个项目,同样的,把wxss和wxml的内容清除一下,这些内容对我们现在来说还没什么用处。

第一步,我们先搞点代码上去,输入这个并给这个一个样式。这里,给scroll-view组件设置的样式名字为out,里面的字符设置的样式名字为box。

参考代码:
  
   111
   222
   333
   444
   555
   666
   777

第二步,给out设置样式,样式给个宽度为100%,高度为200像素,背景颜色为浅灰色。

参考wxss样式代码:
  .out{
  width: 100%;
  background: #ccc;
  height:200px;
}

第三步,给里面的box设置样式,设置个宽为100像素,高为100像素,背景颜色随便挑个好看的就行。

参考代码:(注意,.out和.box之间要留点空格)
  .out .box{
  width: 100px;
  height: 100px;
  background: greenyellow;
}

做到这一步大家有没有发现,这个页面上的内容是无法拖动的,这个时候我们可以在里面放入纵向拉动的代码:scroll-y,看看效果。

大家有没有看到,已经可以拖动了。

参考代码:

那么该如何让这里面的这些数字横向排放呢?

这里可以在样式里面添加下列代码:display:inline-block

参考样式代码:
.out .box{
  width: 100px;
  height: 100px;
  background: greenyellow;
  display: inline-block;
}

那么,该如何把他们放在一行里面呢?这个时候我们需要在.out样式里面的高度限制删掉,添加一个white-space:nowrap即可。

.out部分参考代码:
.out{
  width: 100%;
  background: #ccc;
  white-space:  nowrap;
}

这个时候我们可以看到,样式改变了,变成一行排布的了,不换行了,看起来也好看多了。

不过,现在的无法拖动的,这是因为我们没有换,我们需要将里面的scroll-y代码换成scoll-x。

这个时候就可以自由拖动了。

参考代码:

我们可以在这一块块里面加上一些间隔。添加间隔为5像素。

参考代码:
  .out .box{
  width: 100px;
  height: 100px;
  background: greenyellow;
  display: inline-block;
  margin-right: 5px;
}



组件中的upper-threshold和lower-threshold属性

这两个需要联系整个小程序的框架来说,在这里先不跟大家说了,这两个属性的作用是一种效果,当我们拖动的时候回触发的事件,这个以后有时间的话再慢慢跟大家说。

组件中的scroll-top和scroll-left属性:滚动条的初始位置

这两个属性是设置滚动条位置的,我们有的时候在小程序里面看到的默认位置在中间的,基本上都是这个属性实现的,我们现在来看看这两个属性。

大家可以看到,当我们输入scroll-left="260"代码后,按住Ctrl+s进行保存, 页面上显示的滚动条滚动的位置就放到了中间(我没动手)。

参考代码:

scroll-top是竖向的设置,实现出来的效果都差不多,详细的我们以后会再说的。

组件中的scroll-with-animation属性:动画过渡效果

这个就是实现滚动条的一个动画过渡的效果,大家有兴趣可以自己去尝试一下,这里小编也想给大家瞧瞧,但是不太好搞,把代码给大家。

参考代码:
  

组件的其他属性

这里面还有很多的属性我们还没有讲到,这里的很多属性都用不太多,上面讲的几个是比较重要的几点用法,其他的以后有时间会慢慢说的。

写在最后

经过这段时间的学习,大家对小程序的编程掌握了多少呢?

今天我们简单的说了一下的组件及其属性,大家掌握了吗?

谢谢大家在百忙之中抽出时间来看小编的文字,你的关注就是小编的动力,谢谢大家了。

相关推荐

程序员请收好:10个非常有用的 Visual Studio Code 插件

一个插件列表,可以让你的程序员生活变得轻松许多。作者|Daan译者|Elle出品|CSDN(ID:CSDNnews)以下为译文:无论你是经验丰富的开发人员还是刚刚开始第一份工作的初级开发人...

PADS在WIN10系统中菜单显示不全的解决方法

决定由AD转PADS,打开发现菜单显示不正常,如下图所示:这个是由于系统的默认字体不合适导致,修改一下系统默认字体即可,修改方法如下:打开开始菜单-->所有程序-->Windows系统--...

一文讲解Web前端开发基础环境配置

先从基本的HTML语言开始学习。一个网页的所有内容都是基于HTML,为了学好HTML,不使用任何集成工具,而用一个文本编辑器,直接从最简单的HTML开始编写HTML。先在网上下载notepad++文...

TCP/IP协议栈在Linux内核中的运行时序分析

本文主要是讲解TCP/IP协议栈在Linux内核中的运行时序,文章较长,里面有配套的视频讲解,建议收藏观看。1Linux概述  1.1Linux操作系统架构简介Linux操作系统总体上由Linux...

从 Angular Route 中提前获取数据

#头条创作挑战赛#介绍提前获取意味着在数据呈现在屏幕之前获取到数据。本文中,你将学到,在路由更改前怎么获取到数据。通过本文,你将学会使用resolver,在AngularApp中应用re...

边做游戏边划水: 基于浅水方程的水面交互、河道交互模拟方法

以下文章来源于腾讯游戏学堂,作者Byreave篇一:基于浅水方程的水面交互本文主要介绍一种基于浅水方程的水体交互算法,在基本保持水体交互效果的前提下,实现了一种极简的水面模拟和物体交互方法。真实感的...

Nacos介绍及使用

一、Nacos介绍Nacos是SpringCloudAlibaba架构中最重要的组件。Nacos是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台,提供注册中心、配置中心和动态DNS...

Spring 中@Autowired,@Resource,@Inject 注解实现原理

使用案例前置条件:现在有一个Vehicle接口,它有两个实现类Bus和Car,现在还有一个类VehicleService需要注入一个Vehicle类型的Bean:publicinte...

一文带你搞懂Vue3 底层源码

作者:妹红大大转发链接:https://mp.weixin.qq.com/s/D_PRIMAD6i225Pn-a_lzPA前言vue3出来有一段时间了。今天正式开始记录一下梗vue3.0.0-be...

一线开发大牛带你深度解析探讨模板解释器,解释器的生成

解释器生成解释器的机器代码片段都是在TemplateInterpreterGenerator::generate_all()中生成的,下面将分小节详细展示该函数的具体细节,以及解释器某个组件的机器代码...

Nacos源码—9.Nacos升级gRPC分析五

大纲10.gRPC客户端初始化分析11.gRPC客户端的心跳机制(健康检查)12.gRPC服务端如何处理客户端的建立连接请求13.gRPC服务端如何映射各种请求与对应的Handler处理类14.gRP...

聊聊Spring AI的Tool Calling

序本文主要研究一下SpringAI的ToolCallingToolCallbackorg/springframework/ai/tool/ToolCallback.javapublicinter...

「云原生」Containerd ctr,crictl 和 nerdctl 命令介绍与实战操作

一、概述作为接替Docker运行时的Containerd在早在Kubernetes1.7时就能直接与Kubelet集成使用,只是大部分时候我们因熟悉Docker,在部署集群时采用了默认的dockers...

在MySQL登录时出现Access denied for user ~~ (using password: YES)

Windows~~~在MySQL登录时出现Accessdeniedforuser‘root‘@‘localhost‘(usingpassword:YES),并修改MySQL密码目录适用...

mysql 8.0多实例批量部署script

背景最近一个项目上,客户需要把阿里云的rdsformysql数据库同步至线下,用作数据的灾备,需要在线下的服务器上部署mysql8.0多实例,为了加快部署的速度,写了一个脚本。解决方案#!/bi...