写页面时,考虑到美观,良好的用户体验,对于内容的展示我们经常会用到瀑布流式布局,那么如何实现一个简单的瀑布流呢?

瀑布流式布局

原理:遍历数组判断奇偶性,然后分左右排布,左右两边代码基本一致

直接上代码:

index.wxml

  //index.wxml<!-- 推荐&精选 --><view class="activity_recommend" wx:if="{{activeIndex == 0}}"><form bindsubmit="submitInfo" report-submit='true' wx:if="{{recommendListArr.length != 0}}"> <!-- form标签包裹以获取formId --><view class="recommend_content"><!-- 瀑布流左边 --><view class="left"><view wx:for="{{recommendListArr}}" wx:for-item="item" wx:key="item.activityid"><view name="m-recommend" class="recommend_item" wx:if="{{index%2==0}}"><button class="item-img_container" wx:if="{{item.isvideo == '0'}}" id="{{item.activityid}}"formType="submit" hover-class="none" bindtap="gotoLinks"><image class="item-img" src="{{imgUrl}}{{item.activityimg}}" mode="widthFix"></image></button><!-- 判断:当内容为视频时展示视频样式 --><image class="item-img_video" id="{{item.activityid}}" wx:if="{{item.isvideo == '1'}}"src="{{item.activityimg}}" mode="widthFix" bindtap="showVideo"></image><image class="playImg" wx:if="{{item.isvideo == '1'}}" src="../../images/recommend_play.png"bindtap="showVideo" mode="widthFix"></image><!-- 判断:当内容为图片时展示图片样式 --><view url="url" class="recommend_shopName">{{item.activityname}}</view><view class="recommend_shopper"><view class="shopper_container" id="{{item.storeid}}" bindtap="gotoStore"><image class="shopper_ava" src="{{item.headlogo}}"></image><text class="shopperName">{{item.nickname}}</text></view><view><button class="lovestatusBtn_on" form-type="submit" id="{{item.storeid}}"hidden="{{item.islike =='0'}}" bindtap="liketags"></button><button class="lovestatusBtn_no" form-type="submit" id="{{item.storeid}}"hidden="{{item.islike == '1'}}" bindtap="liketags"></button></view></view></view></view></view><!-- 瀑布流右边 --><view class="right"><view wx:for="{{recommendListArr}}" wx:for-item="item" wx:key="item.activityid"><view name="m-recommend" class="recommend_item" wx:if="{{index%2==1}}"><button class="item-img_container" wx:if="{{item.isvideo == '0'}}" id="{{item.activityid}}"formType="submit" hover-class="none" bindtap="gotoLinks"><image class="item-img" src="{{imgUrl}}{{item.activityimg}}" mode="widthFix"></image></button><image class="item-img_video" id="{{item.activityid}}" wx:if="{{item.isvideo == '1'}}"src="{{item.activityimg}}" mode="widthFix" bindtap="showVideo"></image><image class="playImg" wx:if="{{item.isvideo == '1'}}" src="../../images/recommend_play.png"bindtap="showVideo" mode="widthFix"></image><view url="url" class="recommend_shopName">{{item.activityname}}</view><view class="recommend_shopper"><view class="shopper_container" id="{{item.storeid}}" bindtap="gotoStore"><image class="shopper_ava" src="{{item.headlogo}}"></image><text class="shopperName">{{item.nickname}}</text></view><view><button class="lovestatusBtn_on" form-type="submit" id="{{item.storeid}}"hidden="{{item.islike =='0'}}" bindtap="liketags"></button><button class="lovestatusBtn_no" form-type="submit" id="{{item.storeid}}"hidden="{{item.islike == '1'}}" bindtap="liketags"></button></view></view></view></view></view></view></form></view>

index.wxss

//index.wxss/* 推荐&精选 */.activity_recommend{margin-top:10px;padding-top:5px;margin-left: 25rpx;margin-right:25rpx;position: relative;
}.recommend_content{clear:both;overflow: hidden;width:100%;display: flex;justify-content: space-around;flex-wrap: wrap;
}.recommend_content:after {content: "";width: 336rpx;}.recommend_item{display: inline-block;background:#fff;margin-bottom: 20rpx;border-radius: 12rpx;width:336rpx;min-height: 390rpx;max-height: 590rpx;position: relative;box-shadow: 0 4px 10px 0 rgba(0,0,0,0.10); //阴影效果
}.item-img_container{width:336rpx ;border-radius: 12rpx 12rpx 0 0 ;
}.item-img_container .item-img{width:336rpx;min-height: 190rpx;max-height: 380rpx;border-radius: 12rpx 12rpx 0 0 ;
}
.item-img_video{width:336rpx;min-height: 190rpx;max-height: 380rpx;border-radius: 12rpx 12rpx 0 0 ;
}

index.js(可忽略)

 //index.js// 获取formIdsubmitInfo(e) {this.setData({formId: e.detail.formId,},(res) => {})},
//获取点击项的formId以此查询数据对其操作

也引用将上述代码,写入组件使用,可参考

ajing741472797/pbl​github.com

end

瀑布流式页面布局_微信小程序——实现简单的瀑布流式布局相关推荐

  1. vue用公共组件页面传值_微信小程序页面传值、组件间通信总结

    小程序是一种新的开放能力,开发者可以快速地开发一个小程序.小程序可以在微信内被便 捷地获取和传播,同时具有出色的使用体验.对于微信小程序,前端开发应该不陌生,目前也 是非常火,很多公司都会进行开发.对 ...

  2. 小程序内嵌h5页面分享_微信小程序webview内页面分享

    因为项目原因,之前在微信小程序内部使用 webview 嵌套了 h5 页面,现在要添加一个新的功能,用户在哪个页面进行了分享,被分享的用户从链接进来就跳转到哪个分享页面. 先了解一下 web-view ...

  3. 微信小程序页面栈_微信小程序使用页面栈改变上一页面的数据

    微信小程序中如果从一个页面中进入下一个页面,如果下个页面的数据有删除或者增加再返回上一个页面的时候,就会导致页面不刷新(数据加载函数在onload中),从而造成数据不一致的情况.其实在微信小程序中是可 ...

  4. 微信小程序页面栈_微信小程序之页面传值(路由、页面栈、globalData、缓存)

    1. 通过url带参数传递 1.1 固定参数传递 例如,从 list 页面到 detail 页面, 传递一个或多个固定值 list页面传值: 点此进入 detail detail页面取值: onLoa ...

  5. 微信小程序页面栈_微信小程序开发中的页面栈及页面路由原理

    摘要:小程序的开发方兴未艾,本文以图解的形式详细剖析了小程序开发中的页面栈及页面路由原理,对于该原理的深入理解有助于开发者更好地理解小程序的开发框架,更好地开发出功能强大的小程序. 微信小程序(以下简 ...

  6. 微信小程序实现简单的瀑布流式布局

    参考原文:https://blog.csdn.net/weixin_39661129/article/details/110935903 实现样式: 分析:应为小程序只有左右两列,完全没有H5动态计算 ...

  7. 微信小程序中如何制作瀑布流效果

    微信小程序中如何制作瀑布流效果如图是 首先,页面布局,页面分为两个部分,左右各一部分,各自插入图片,页面代码如下: <view class="city_history"> ...

  8. 微信小程序点击带id参数跳转_微信小程序页面跳转方法和携带参数详解

    1.页面跳转方式 (1)标签跳转 open-type的属性值对应api里的用法即wx.的用法 1 跳转到新页面 (2)wx.navigateTo 方法跳转 此方法能够从跳转的页面会回到当前页面 1 w ...

  9. 黑马优购_微信小程序

    黑马优购_微信小程序项目 介绍 2021年5月6日-2021年5月12日在校参加微信小程序培训,由黑马讲师授课,能够利用微信提供的组件和API实现轮播图.授权用户信息.上拉加载更多等功能,由于之前对u ...

最新文章

  1. 使用睡袋_在户外一个关乎睡眠的重要因素——睡袋
  2. java包装类和基本类型谁先谁后_你知道Java中基本类型和包装类的区别吗
  3. ad采样频率_使用AD5933分析复阻抗的时钟频率设置
  4. 普及组模板——线性筛素数
  5. DDD理论学习系列(12)-- 仓储
  6. python基础(正则表达式)
  7. 查看python进程_[原创] 如何查看一个Python进程在”干什么”: py-spy 来帮忙 – 编码无悔 / Intent Focused...
  8. thinkphp 5.0 模块设计
  9. Jmeter安装步骤
  10. 很抱歉,程序无法在非MBR引导分区上进行激活
  11. python公约数公倍数_python求最大公约数和最小公倍数的简单方法
  12. 提前体验让人回归Windows怀抱的Windows Terminal
  13. 斯蒂文斯理工学院计算机专业,斯蒂文斯理工学院的计算机专业如何?
  14. 风险预测模型_5分+整合多中心临床样本构建5分子胰腺癌预后模型
  15. 会员卡应用管理系统源码 支持收银+积分管理+商城营销功能 含详细搭建教程
  16. 数据安全问题已成隐患,看vivo如何让“用户数据”重新披甲
  17. 计算机毕业设计(49)java小程序毕设作品之菜谱美食小程序系统
  18. 网络威胁分析师必须具备的十种能力
  19. 计算用户的平均次日留存率 求教!!
  20. 最新M1专用LRC更新Adobe Lightroom CC 2021中文直装版,已解决M1安装不上闪退等问题!

热门文章

  1. linux更新软件载入缓存后停止_linux 中缓存怎样清除
  2. vuex commit 模块_长篇连载:Vuex源码学习(二)脉络梳理
  3. servlet 接收request发送过来的多维数组_049 JAVA-Servlet
  4. java ee8 mvc1_JavaEE——SpringMVC(1)--@RequestMapping
  5. codesys 串口通讯实例_CODESYS线上直播,解读控制器开发那些事儿(二)
  6. java中类的接口是什么_Java中的接口知识汇总
  7. mysql update commit吗_MySQL需要commit么
  8. 广告冷启动_超级推荐如何缩短冷启动时间,让流量快速注入店铺
  9. keypairgenerator生成的公钥是不变的么_bitcoin 地址是如何生成的
  10. linux 重启oracle实例_Oracle实战(二)-Oracle概述