动态按列数布局

本文介绍了如何利用HTML的<div>结构,结合CSSGrid布局和JavaScript动态调整列数。通过设置CSS变量`--columnsCount`,在不同需求下改变`.gridBox`中`.gridItem`的列数和宽度,以实现响应式设计。
摘要由CSDN通过智能技术生成

思路:根据后台返回列数,动态布局选项,用display: grid网格布局,将容器分为等宽列数去实现

html布局

<div class="gridBox">
    <div class="gridItem"></div>
    <div class="gridItem"></div>
</div>

css样式


.gridBox {
    // 每一行的列数
    --columnsCount: 3; 
    //网格布局
    display: grid !important;
    /* 将容器分为x列,每列宽度相等 */
    grid-template-columns: repeat(var(--columnsCount), 1fr) !important;
    /* 设置网格之间的间距 */
    gap: 10px;
 
    .gridItem {
        //选项最大宽度
        max-width: calc(100vw / var(--columnsCount) - 20px) !important;
    }
}

js 动态设置列数

const gridBox = document.querySelector('.gridBox');
gridBox.style.setProperty('--columnsCount', '4');

 参考grid布局+css变量实现动态配置列数-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值