详解微信小程序之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 相关文章推荐
java、javascript实现附件下载示例
Aug 14 Javascript
每天一篇javascript学习小结(Boolean对象)
Nov 12 Javascript
javascript弹性运动效果简单实现方法
Jan 08 Javascript
jquery实用技巧之输入框提示语句
Jul 28 Javascript
fetch 使用及如何接收JS传值
Nov 11 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
Dec 20 Javascript
vue组件与复用详解
Apr 08 Javascript
VUE 3D轮播图封装实现方法
Jul 03 Javascript
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
Sep 19 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
Jul 25 jQuery
layui原生表单验证的实例
Sep 09 Javascript
在Vue 中获取下拉框的文本及选项值操作
Aug 13 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
PHP4实际应用经验篇(1)
2006/10/09 PHP
php数组分页实现方法
2016/04/30 PHP
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
2013/07/04 Javascript
值得分享的bootstrap table实例
2016/09/22 Javascript
JS实现字符串去重及数组去重的方法示例
2018/04/21 Javascript
微信小程序实现登录注册tab切换效果
2020/12/29 Javascript
Vue仿微信app页面跳转动画效果
2019/08/21 Javascript
node.js文件操作系统实例详解
2019/11/05 Javascript
ES6对象操作实例详解
2020/05/23 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
2020/12/10 Vue.js
django传值给模板, 再用JS接收并进行操作的实例
2018/05/28 Python
Django 限制用户访问频率的中间件的实现
2018/08/23 Python
win10下python3.5.2和tensorflow安装环境搭建教程
2018/09/19 Python
python实现根据文件关键字进行切分为多个文件的示例
2018/12/10 Python
Python3爬虫学习入门教程
2018/12/11 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
学习Django知识点分享
2019/09/11 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
JupyterNotebook 输出窗口的显示效果调整实现
2020/09/22 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
优秀毕业大学生推荐信
2013/11/13 职场文书
公司市场部岗位职责
2013/12/02 职场文书
大学生职业生涯规划书范文
2014/01/04 职场文书
餐厅总厨求职信
2014/03/04 职场文书
小学学雷锋活动总结
2014/04/25 职场文书
学习考察心得体会
2014/09/04 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
员工开除通知书
2015/04/25 职场文书
高中生物教学反思
2016/02/20 职场文书
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python
Pygame如何使用精灵和碰撞检测
2021/11/17 Python