小程序space-between;最后一行不滿一行的情況解決辦法

不是想要的效果圖:


屏幕快照 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的倍數(shù)margin-right樣式


第二種辦法解決

主要是對數(shù)據(jù)狀態(tài)進(jìn)行操作;
等差公式: an = a1 + (n - 1)*d;


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

HTML有點(diǎn)改變

<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"
        }
        ]
    },

    /**
     * 生命周期函數(shù)--監(jiān)聽頁面加載
     */
    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、計(jì)算出每項(xiàng)的下一個等差為3的數(shù)
            console.log(an,'nnn')
            //2、給自己想要的添加
            if (an < nums.length) {//這里要控制an項(xiàng)大小大于數(shù)組的長度的話,否則溢出報錯
                nums[an].styles = true;
                console.log(nums[an])
            }
        }
        console.log(nums,'nums')
        this.setData({
            nums
        })
    }
})
屏幕快照 2018-12-08 下午3.36.55.png

總結(jié):其他一行放4個5個同樣可以使用只需調(diào)整CSS文件中的基本控制樣式即可

第三種辦法解決(grid布局)

效果圖1:


截屏2022-04-18 上午10.23.22.png

效果圖2:


截屏2022-04-18 上午10.23.38.png

效果圖3:


截屏2022-04-18 上午10.23.44.png
<div className={styles.box2}>
        <div className={styles.child}>1</div>
        <div className={styles.child}>2</div>
        <div className={styles.child}>3</div>
        <div className={styles.child}>4</div>
        <div className={styles.child}>5</div>
 </div>

// css
.box2 {
    display: grid;
    row-gap: 10px; // 中間模塊間隔
    column-gap: 10px; // 換行后,上下間隔
    // grid-template-columns: auto auto 150px 150px; // 每行的前面2個元素自適應(yīng),后面的自定義樣式
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); // 所有的自適應(yīng),最小150px, 最大為平局分(都為一等份)
    background-color: lightgreen;
    .child {
      height: 150px;
      background-color: red;
      display: grid;
      place-items: center;
      color: #fff;
    }
  }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容