【微信小程序】采坑之scroll-view组件

一、摘要

  今天在使用scroll-view组件的时候发现结果跟预想的不一样。其实也不是第一次用了,同样的写法却出现了意料之外的效果,所以认定是bug了。博主使用的是2.3.0版本,所以之前的版本应该也会有这个bug。

二、正文

  先上图

  这是在scroll-view中添加这么些text组件的时候的效果,代码我就不上了。发现文本组件莫名其妙的被挤下来了一些,我可是没有设置上边距的,而且留白的地方也没有任何东西。

  经过我苦思冥想以及各种尝试发现把中文换成英文或者数字,结果就不一样了。忘记说了,这个scroll-view设置的是x方向滑动。

  可以发现这次超出的部分没有自动换行了,而且可以左右滑动了,但是留白部分依然存在。

  我现在的需求是需要用中文,而要能滑动。之前导致无法滑动的原因是由于文本自动换行造成的。例如第三个text的“文本组件”这四个字竟然被分到两行,然后去控制台看布局的时候发现是这样的。

  厉害了,这文本组件竟然变成这样,更奇怪的是还没有影响其它兄弟组件的布局。

  咋整呐?抱着试一试的心态,我在scroll-view的样式中添加了这么一行代码。

white-space: nowrap;

  奇迹出现了,看下面的效果。

  这是我向右边拖动了一点点的效果。相信大家也能看懂上面那行css吧,就是强制不换行的意思。我猜测官方是用div去实现这个scroll-view的,而且没有设置这条属性,所以默认就是自动换行了。

  我们再来看下下面这个scroll-view的使用。

  大家可能跟我一样很奇怪,为啥这个就可以正常滑动呐。这里面我是没有强制不换行的。比较一些这两者的区别就知道为啥了。因为下面这个scroll-view中使用了图片,图片的宽度远远大于文字。而且我把图片和文字放在了一个view中,所以整个view的宽度以图片为主。

三、总结

  scroll-view中的元素大致分为两类,一类是中文,一类是非中文。使用中文类的组件时候(也就是需要呈现中文的组件,不限于text组件)是会自动换行的,这时候需求在css中强制不换行。在使用非中文组件时候就一切正常。

  至于为啥使用中文组件会有一部分留白,这个我不知道是个例还是bug,反正只需要用相对定位移一下就可以了。虽然这不是最好的解决方案,但是目前也没有更好的选择。

原文地址:https://www.cnblogs.com/code-xia/p/9651564.html

时间: 2024-10-08 10:45:04

【微信小程序】采坑之scroll-view组件的相关文章

一名Android开发者的微信小程序填坑之路(2)

前言 上一篇是九月二十七日写的,而这一篇我动笔的时间是十月十日(特殊的日子),中间相隔十三天--当然是因为国庆节.说老实话,这十三天里面我都没有碰和小程序有关的东西--毕竟学习小程序的开发也只是起于兴趣,而平时的工作并不会涉及与其相关的东西--但是在这十三天里,我能明显的感受到小程序热正在逐渐的消退,或者说大家正在逐渐以一种较为平和的姿态接受它的存在,其实这是一件好事.期待公测的到来. 接下来我就直接进入正题了,另外,文末我想和大家分享一下我的国庆节. PS:这篇文章是接着上一篇文章 一名And

微信小程序把玩(九)scroll-view组件

原文:微信小程序把玩(九)scroll-view组件 scroll-view为滚动视图,分为水平滚动和垂直滚动.注意滚动视图垂直滚动时一定要设置高度否则的话scroll-view不会生效.滚动视图常用的地方一般都是Item项比较多的界面,比如我的模块 主要属性: 使用演示: wxml <!--垂直滚动,这里必须设置高度--> <scroll-view scroll-y="true" style="height: 200px"> <vie

微信小程序把玩(十三)progress组件

原文:微信小程序把玩(十三)progress组件 进度条描述的是一种加载的状态,比如软件升级下载进度, 视频,图片下载进度- 主要属性: wxml <progress percent="80" show-info="true" stroke-width="5" color="red" active="true"/>

微信小程序把玩(十一)icon组件

原文:微信小程序把玩(十一)icon组件 这些是提供的所支持的图标样式,根据需求在此基础上去修改大小和颜色. 主要属性: 使用方式: wxml <!--成功图标--> <icon type="success" size="40"/> <!--安全成功标志图标--> <icon type="safe_success" size="40"/> <!--提示信息图标-->

一名Android开发者的微信小程序填坑之路(1)

前言 首先要声明的是,我是一名 Android 开发者,之前基本没有前端开发经验,甚至连 JS ,HTML 都是为了开发小程序现学的一些皮毛--所以文章中所提到的一些点也许在资深前端开发者看来只是小case,但是站在一个 Android 开发者的角度来看确实是大坑. 前面就不说太多东西了,文章的末尾再谈谈我对小程序的一些看法--这篇文章主要是谈谈在开发小程序的过程中遇到的一些坑. PS:推荐一下我写的一个微信小程序版的Gank客户端:wechat-weapp-gank 正文 1,获取小程序开发工

微信小程序的坑坑

no.1 背景图不显示 微信小程序里面是允许用户自定义背景图的,但是限定了背景图的路径及地址,之前一直用相对路径来写,微信开发者工具中也显示出了背景图,误以为没有问题,但是预览的时候发现手机中不显示背景图,这就是今天介绍的第一个坑,背景图不允许为本地图片. 解决方法: 第一.用在线图片转base64码的方法,这种方法的优点在于图片不存储在本地或者服务器上,占用空间小修改方便,缺点是小图片处理效果更好,大图代码相当的长,长的都不想看他... 第二.将图片上传至服务器,引用图片地址就可以了,方便快捷

微信小程序爬坑日记

新公司上手小程序.30天,从入门到现在,还没放弃... 虽然小程序发布出来快一年了,爬坑的兄弟们大多把坑都踩平了.而我一直停留在"Hello World"的学习阶段.一来没项目,只有项目才是实践学习的根本:二来刚出来,总是有很多坑.爬坑总是痛并快乐着. 再多的借口,产品项目需求拍在桌前,都得缴械投降.不要怂撸起袖子,就是干. 初识小程序 微信推出小程序,想要实现即开即用,用完即走的用户体验.免去APP下载安装繁琐的流程.听起来像谷歌推出的PWA,不过PWA普及到国内还有段时间.而小程序

微信小程序的坑(持续更新中)

参与微信小程序开发有一段时间了,先后完成信息查询类和交易类的两个不同性质的小程序产品的开发:期间遇到各种各样的小程序开发的坑,有的是小程序基础功能不断改进完善而需要业务持续的适配,有的是小程序使用上的一些坑:下面针对小程序开发过程中遇到的一些坑跟大家分享,有些没有深究具体原因: 1.原生组件遮盖的问题 由于原生组件层级最高,即使设置了其z-index也于事无补:不能随意在其层级上展示信息,只能通过cover-view和cover-image组件(其实这两个组件也是原生组件)来进行遮盖: 例如,下

微信小程序踩坑(二)——微信小程序recorderManager和innerAudioContext相关

目录 写在前面 RecorderManager录音相关 innerAudioContext播放相关 写在前面 关于微信小程序的录音和语音方面,踩了很多坑,记录一下 recorderManager相关文档 innerAudioContext相关文档 RecorderManager录音相关 在使用RecorderManager相关方法之前,在page外先定义全局唯一的录音管理器: const recorderManager = wx.getRecorderManager(); 录音开始 record

记录开发微信小程序的坑(3)

现在开发小程序已经到了平稳时期,开始逐步优化小程序 1.微信小程序的更新机制  wx.getUpdateManager()这个函数是用于更新的 连接 https://developers.weixin.qq.com/miniprogram/dev/api/wx.getUpdateManager.html 小程序没有重启的概念 当小程序进入后台,客户端会维持一段时间的运行状态,超过一定时间后(目前是5分钟)会被微信主动销毁 在 iOS 上,当微信客户端在一定时间间隔内(目前是 5 秒)连续收到两次