实现页面瀑布流思路:使用CSS3属性column-count: number|auto;
将容器元素分为两列,使用column-gap: length|normal;
设置列之间的间隔,使用break-inside: avoid
使元素避免出现中断点。
效果截图:
注意:
最重要的需要设置图片mode='widthFix'
,即设置图片宽度不变,高度自动变换,保持原图宽高比不变。
wxml代码:
<view class="picture">
<view class="item">
<image src="../../resources/img/1.png" mode='widthFix' bindtap="viewImage"></image>
</view>
<view class="item">
<image src="../../resources/img/2.png" mode='widthFix' bindtap="viewImage"></image>
</view>
<view class="item">
<image src="../../resources/img/1.png" mode='widthFix' bindtap="viewImage"></image>
</view>
<view class="item">
<image src="../../resources/img/2.png" mode='widthFix' bindtap="viewImage"></image>
</view>
<view class="item">
<image src="../../resources/img/1.png" mode='widthFix' bindtap="viewImage"></image>
</view>
<view class="item">
<image src="../../resources/img/2.png" mode='widthFix' bindtap="viewImage"></image>
</view>
</view>
wxss代码:
.picture{
column-gap: 5rpx;
column-count: 2;
padding: 10rpx 10rpx 10rpx 15rpx;
}
.item{
width: 99%;
break-inside: avoid;
}
.item image{
width: 100%;
border-radius: 5rpx;
}