美文网首页
小程序space-between;最后一行不满一行的情况解决办法

小程序space-between;最后一行不满一行的情况解决办法

作者: 冬天73051 | 来源:发表于2018-12-08 12:14 被阅读0次

不是想要的效果图:


屏幕快照 2018-12-08 下午12.10.09.png

最终效果图:


屏幕快照 2018-12-08 下午12.08.05.png

解决办法之一:
html

<view class='video-container'>
    <view class='video-item' wx:for="{{[{name: '邻家'},{name: '邻家'},{name: '邻家'},{name: '邻家'},{name: '邻家'},{name: '邻家'},{name: '邻家'},{name: '邻家'}]}}" wx:for-item="item" wx:key="idx" wx:for-index="idx">
        <view class='video-img'>
            <image src='/images/share.jpg'></image>
        </view>
        <view class='video-text'>{{item.name}}</view>
    </view>
</view>

css

.video-container{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.video-item{
    width: 32%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 30rpx;
    margin-right: 2%;
}

.video-item:nth-child(3n){
    margin-right: 0;
}

.video-img{
    width: 100%;
    height: 200rpx;
    background-color: #ddd;
}

.video-img image{
    width: 100%;
    height: 100%;
}

.video-text{
    font-size: 26rpx;
    color: #333;
    margin-top: 20rpx;
}

:nth-child(3n) 去掉为3的倍数margin-right样式


第二种办法解决

主要是对数据状态进行操作;
等差公式: an = a1 + (n - 1)*d;


屏幕快照 2018-12-08 下午3.25.28.png

HTML有点改变

<view class='video-container'>
    <view wx:for="{{nums}}" wx:for-item="item" wx:key="idx" wx:for-index="idx" class='video-item {{item.styles? "mid-item" : ""}}'>
        <view class='video-img'>
            <image src='/images/share.jpg'></image>
        </view>
        <view class='video-text'>{{item.name}}</view>
    </view>
</view>

css:

.video-container{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.video-item{
    width: 32%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 30rpx;
}

.mid-item{
    margin-left: 2%;
    margin-right: 2%;
}

.video-img{
    width: 100%;
    height: 200rpx;
    background-color: #ddd;
}

.video-img image{
    width: 100%;
    height: 100%;
}

.video-text{
    font-size: 26rpx;
    color: #333;
    margin-top: 20rpx;
}

js:

Page({
    data: {
        nums: [
        {
            name: '邻家'
        }, 
        {
            name: '邻家'
        }, 
        {
            name: '邻家'
        },
        {
            name: "lily"
        },
        {
            name: "maomao"
        }
        ]
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function(options) {
        var {
            nums
        } = this.data;
        var a1 = 1;
        for (let i = 1; i < nums.length; i++) {
            let an = a1 + (i - 1) * 3;
            //1、计算出每项的下一个等差为3的数
            console.log(an,'nnn')
            //2、给自己想要的添加
            if (an < nums.length) {//这里要控制an项大小大于数组的长度的话,否则溢出报错
                nums[an].styles = true;
                console.log(nums[an])
            }
        }
        console.log(nums,'nums')
        this.setData({
            nums
        })
    }
})
屏幕快照 2018-12-08 下午3.36.55.png

总结:其他一行放4个5个同样可以使用只需调整CSS文件中的基本控制样式即可

相关文章

网友评论

      本文标题:小程序space-between;最后一行不满一行的情况解决办法

      本文链接:https://www.haomeiwen.com/subject/qbcqhqtx.html