详解微信小程序之scroll-view的flex布局问题


Posted in Javascript onJanuary 16, 2019

关于微信小程序的scroll-view组件,第一次写的时候是直接在scroll-view中用了一层容器包裹子元素,然后用了flex布局,并且是用了组件来实现的横向滚动,后面有提出改进,但是不记录下,就发现过了几天,就有点懵了

1.效果图

详解微信小程序之scroll-view的flex布局问题

2.在scroll-view里加一层容器,使用flex布局实现

这里用flex布局实现的话,就要用组件的形式

wxss文件

.scrollView{
 padding: 0 20rpx;
 white-space: nowrap;
 box-sizing: border-box;
}
.item{
 display: inline-block;
 margin-right: 20rpx;
 width: calc(100% / 3);
 height: 100rpx;
 background: #ff00ff;
}

.scrollView1{
 display: flex;
 margin-top: 40rpx;
 padding: 0 20rpx;
 width: 100%;
 flex-wrap: nowrap;
 box-sizing: border-box;
}
.item1{
 margin-right: 20rpx;
 width: calc(100% / 3);
 height: 100rpx;
 background: #ff00ff;
}
.scrollView2{
 margin-top: 40rpx;
 padding: 0 20rpx;
 width: 100%;
 box-sizing: border-box;
}
.itemContainer{
 display: flex;
 width: 100%;
 flex-wrap: nowrap;
}
.scrollItem{
 margin-right: 20rpx;
}

.scrollView3{
 margin-top: 40rpx;
 padding: 0 20rpx;
 width: 100%;
 box-sizing: border-box;
}
.item3{
 margin-right: 20rpx;
 /* width: calc(100% / 3); */
 width: 240rpx;
 height: 100rpx;
 background: #aa22dd;
}

wxml文件

<!-- 要想使用flex布局实现横向滚动,就要在scroll-view里加一层容器包裹,并且使用子组件才会出现滚动效果 -->
<scroll-view scroll-x class="scrollView2">
 <view class="itemContainer">
  <block wx:for="{{4}}" wx:key="{{index}}">
   <view-item class="scrollItem" />
  </block>
 </view>
</scroll-view>

子组件里就一个view标签,可以自己直接写

详解微信小程序之scroll-view的flex布局问题

3.直接使用display:inline-blockwxml文件

<scroll-view scroll-x class="scrollView">
 <block wx:for="{{4}}" wx:key="{{index}}">
  <view class="item"></view>
 </block>
</scroll-view>

4.自己的理解

  • scroll-view不可以直接使用flex布局,使用flex布局会使得他不会按照预想的那样横向排列、滚动
  • 要使用flex布局则要麻烦一点
  • 如果直接使用flex布局,不用子组件的话,则会被挤成一排

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 函数的执行环境和作用域链的深入解析
Nov 01 Javascript
JS高级拖动技术 setCapture,releaseCapture
Jul 31 Javascript
js验证模型自我实现的具体方法
Jun 21 Javascript
jquery parent和parents的区别分析
Oct 02 Javascript
JavaScript中创建类/对象的几种方法总结
Nov 29 Javascript
Angular学习笔记之angular的$filter服务浅析
Nov 12 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
Jan 04 Javascript
JavaScript优化以及前段开发小技巧
Feb 02 Javascript
node简单实现一个更改头像功能的示例
Dec 29 Javascript
jQuery实现模糊查询的方法分析
May 10 jQuery
Vue SSR 即时编译技术的实现
May 06 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
Sep 01 Javascript
vue开发环境配置跨域的方法步骤
Jan 16 #Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
Jan 16 #Javascript
在Create React App中启用Sass和Less的方法示例
Jan 16 #Javascript
在Create React App中使用CSS Modules的方法示例
Jan 15 #Javascript
Vue 样式绑定的实现方法
Jan 15 #Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
Jan 15 #Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
Jan 15 #Javascript
You might like
PHP脚本的10个技巧(1)
2006/10/09 PHP
PHP 面向对象实现代码
2009/11/11 PHP
微信自定义菜单的处理开发示例
2015/04/16 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
2019/04/23 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
2019/10/18 PHP
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
javascript中万恶的function实例分析
2011/05/25 Javascript
js获得鼠标的坐标值的方法
2013/03/13 Javascript
使用delegate方法为一个tr标签加一个链接
2014/06/27 Javascript
nodejs教程之制作一个简单的文章发布系统
2014/11/21 NodeJs
JavaScript日期时间与时间戳的转换函数分享
2015/01/31 Javascript
JavaScript操作DOM元素的childNodes和children区别
2015/04/01 Javascript
jquery实现根据浏览器窗口大小自动缩放图片的方法
2015/07/17 Javascript
jQuery Html控件基本操作(日常收集整理)
2016/03/11 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
angular.js之路由的选择方法
2016/09/24 Javascript
Cropper.js 实现裁剪图片并上传(PC端)
2017/08/20 Javascript
NodeJS爬虫实例之糗事百科
2017/12/14 NodeJs
vue滚动tab跟随切换效果
2020/06/29 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
在Django中管理Users和Permissions以及Groups的方法
2015/07/23 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
tensorboard显示空白的解决
2020/02/15 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
美国家居装饰店:Z Gallerie
2020/12/28 全球购物
《故都的秋》教学反思
2014/04/15 职场文书
机械专业技术员求职信
2014/06/14 职场文书
用python开发一款操作MySQL的小工具
2021/05/12 Python
pytorch中的model=model.to(device)使用说明
2021/05/24 Python
Python Flask请求扩展与中间件相关知识总结
2021/06/11 Python
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL
javascript Number 与 Math对象的介绍
2021/11/17 Javascript