记录一下我使用display和grid时犯下的错误【2021.12.4】

我想要用 grid-row: 2/3;来固定住第二排的内容,让第一排的网格区域得到保留,点击第二排区域里面的按钮控制第一排区域的内容的出现和消失(display)。

我这个逻辑是没问题的,但是如果第一排内容全都被display:none,rid-row: 2/3是不起作用的。

第一排只要有一个网格还有内容,都是可以用这个方法来操作的。

我简易还原了一下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .contener {
            width: 80%;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(2, auto);
            gap: 12px;
            margin: 50px auto;
            justify-items: center;
        }

        .item {
            background-color: rgb(167, 221, 243);
            width: 80px;
            height: 80px;
            text-align: center;
            line-height: 80px;
        }

        .contener div:nth-child(4),
        .contener div:nth-child(5),
        .contener div:nth-child(6) {
            grid-row: 2/3;
        }
    </style>
</head>

<body>
    <div class="contener">
        <div class="item">1</div>
        <div class="item">2</div>
        <div class="item">3</div>
        <div class="item">4</div>
        <div class="item">5</div>
        <div class="item">6</div>
    </div>
</body>
<script>
    const itemEl = document.querySelectorAll(".item");
    itemEl[3].onclick = function () {
        for (let i = 0; i < 3; i++) {
            itemEl[i].style.display = "none";
        }

    }
    itemEl[5].onclick = function () {
        itemEl[0].style.display = "block";
    }
</script>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值