一、摘要

  今天在使用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,反正只需要用相对定位移一下就可以了。虽然这不是最好的解决方案,但是目前也没有更好的选择。

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

  1. 微信小程序把玩(八)view组件

    原文:微信小程序把玩(八)view组件 刚看到这个效果的时候还真是和ReactNative的效果一致,属性也基本的一样. view这个组件就是一个视图组件使用起来非常简单. 主要属性: flex-di ...

  2. 使用wepy框架搭建微信小程序采坑记(一)

    1.什么是wepy 这个框架是腾讯内部出的一个类MVVM的小程序开发框架.大体上来说语法是类VUE的,所以如果有VUE开发经验的话迁移成本会低一些.至于具体的怎么使用我就不赘言了,有问题查文档(官方文 ...

  3. 微信小程序采坑(一)

    1.微信小程序如何让text内容空格 <text decode="{{true}}" space="{{true}}">  </text> ...

  4. 微信小程序采坑

    wx.request() complete回调函数执行时机问题 代码执行顺序有时候会严重影响用户体验:比如项目中请求数据时显示loading的图标,请求完成后不管失败还是成功都要把loading图标隐 ...

  5. 微信小程序采坑之上拉触底加载更多和下拉刷新

    小程序中加载更多数据一般都是触底刷新 有自带的函数: onReachBottom: function (){} 但是在使用时触发完全没有反应,后来尝试给外层加了一个高度,解决问题 仔细想想也是,没有设 ...

  6. 微信小程序采坑之scroll-view

    当设置了scroll-y为true之后,纵向是没有问题的,会出现滚动条. Android上一切都是那么的祥和, ios上你会发现如果你scroll-view里面的东西超过横向的宽度时,就会隐藏了. 也 ...

  7. 微信小程序踩坑集合

    1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debu ...

  8. 微信小程序把玩(十七)input组件

    原文:微信小程序把玩(十七)input组件 input输入框使用的频率也是比较高的...样式的话自己外面包裹个view自己定义.input属性也不是很多,有需要自己慢慢测,尝试 主要属性: wxml ...

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

    原文:微信小程序把玩(九)scroll-view组件 scroll-view为滚动视图,分为水平滚动和垂直滚动.注意滚动视图垂直滚动时一定要设置高度否则的话scroll-view不会生效.滚动视图常用 ...

  10. 微信小程序把玩(十)swiper组件

    原文:微信小程序把玩(十)swiper组件 Android写过轮播图的痛楚只有写过的知道,相对还是比较麻烦的,并没有一个轮播图组件,有个ViewPage也需要自己定制,IOS则多用UIScroller ...

随机推荐

  1. C,C++面试题2

    面试题1:变量的声明和定义有什么区别为变量分配地址和存储空间的称为定义,不分配地址的称为声明.一个变量可以在多个地方声明,但是只在一个地方定义.加入extern修饰的是变量的声明,说明此变量将在文件以 ...

  2. Android-隐式意图激活所有应用

    显示意图 与 隐式意图 对比 显示意图不能激活多个组件,只能激活一个组件 隐式意图能激活多个组件 显示意图只能在自身应用激活,不能激活其他应用 隐士意图能在自身应用激活,也能激活其他应用 每个应用程序 ...

  3. RobotFramework解析返回json断言

    返回的json数据为: { "data": { }, "message": "成功", , } 想要获取的是 advertisingUnit ...

  4. Django集成TinyMCE(admin后台+前台)

    Django版本1.11,操作系统windows 7,在pycharm的terminal中使用pip install django-tinymce下载tinymce(前提是装的python里有pip功 ...

  5. SCPO2015 小凸玩矩阵

    题目链接:戳我 二分答案+最大流. 看到第K大的数的最小值是多少,我们想到二分,把他转化为最大数最小问题--二分一个数x,如果有>=n-k+1个数不比它大,那么它就应当不大于当前数,否则应当大于 ...

  6. 【04】循序渐进学 docker:Dockerfile

    写在前面的话 从前面我们简单的了解了镜像,也运行了容器,各种官方的镜像显然无法满足我们自己的需求,我们目的终究是运行自己的业务. 所以,本章节的 Dockerfile 就主要讲怎么在官方镜像的基础上制 ...

  7. 《锋利的jQuery 第二版》chapter 1~

    chapter 1 认识 jQuery jquery.js(开发版),jquery.min.js(生产版) window.onload 与 $(document).ready() 的对比: jquer ...

  8. coffee主题美化内容概要

    1.具备自动生浮动标题目录(可隐藏) 2.页首目录概要 3.主标题有明显的标志背景颜色,二级标题缩进合适 4.一级.二级标题下图片缩进合适 5.博客签名 6.背景音乐列表 7.打赏 8.联系方式(QQ ...

  9. AutoCAD.Net 实现创建wipeout遮罩实体

    [CommandMethod("mywipeout")] public static void mywipeout() { // 获取当前文档和数据库 Document acDoc ...

  10. linux性能评估与分析工具---CPU篇

    一. uptime root@calm:~# uptime :: up days, :, user, load average: 0.04, 0.09, 0.04 这里主要关注load average ...