Grid 布局结合媒体查询@media实现动态列布局
Published on May 20, 2025, with 22 view(s) and 0 comment(s)
Ai 摘要:本文展示了如何使用CSS Grid布局结合媒体查询(@media)实现响应式动态列布局。示例代码中,容器默认显示4列,当屏幕宽度小于1200px时变为3列,小于900px时变为2列,小于600px时变为单列布局。通过这种方法可以轻松创建适应不同屏幕尺寸的灵活网格布局,提升网页在不同设备上的显示效果。
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
        .container {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 10px;
        }

        @media screen and (max-width: 1200px) {
            .container {
                grid-template-columns: repeat(3, 1fr);
            }
        }
        @media screen and (max-width: 900px) {
           .container {
                grid-template-columns: repeat(2, 1fr);
            }
        }
        @media screen and (max-width: 600px) {
           .container {
                grid-template-columns: 1fr;
            }
        }
        .item {
            height: 100px;
            background-color: aliceblue;
        }
    </style>
</head>

<body>
    <div class="container">
        <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">7</div>
        <div class="item">8</div>
        <div class="item">9</div>
        <div class="item">10</div>
    </div>
</body>

</html>