纯css实现瀑布流! 附源码!!!

瀑布流用于展示图片信息,我这里用的背景颜色来代替图片

PC端效果

源码(直接复制粘贴就可以运行了!!!)

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>PC端瀑布流</title>
    <style>
        .box {
            width: 1200px;
            margin: 0 auto;
            /* 几列 */
            column-count: 4;
            /* 列间距 */
            column-gap: 20px;
            /* 添加背景颜色 */
            background-color: #f5f5f5;
            padding: 20px;
            border-radius: 10px;
        }

        .box div {
            height: 160px;
            margin-bottom: 20px; /* 增加底部间距 */
            /* 避免在该元素内部发生分页或者分栏 如果不够 排在下一列*/
            break-inside: avoid;
            color: #333333; /* 更改文字颜色 */
            text-align: center;
            font-size: 24px; /* 调整字体大小 */
            border: 2px solid #ffffff; /* 添加边框 */
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 添加阴影效果 */
            border-radius: 10px; /* 圆角 */
        }

        .box div:nth-child(1) {
            background: linear-gradient(135deg, #ffcc00, #ff9900);
        }

        .box div:nth-child(2) {
            background: linear-gradient(135deg, #ff6666, #ff3333);
        }

        .box div:nth-child(3) {
            background: linear-gradient(135deg, #66ccff, #3399ff);
        }

        .box div:nth-child(4) {
            background: linear-gradient(135deg, #ccff66, #99ff33);
        }

        .box div:nth-child(5) {
            background: linear-gradient(135deg, #ffccff, #ff99cc);
        }

        .box div:nth-child(6) {
            background: linear-gradient(135deg, #ccffcc, #99ff99);
        }

        .box div:nth-child(7) {
            background: linear-gradient(135deg, #ffcc99, #ff9966);
        }

        .box div:nth-child(8) {
            background: linear-gradient(135deg, #ccccff, #9999ff);
        }

        .box div:nth-child(9) {
            background: linear-gradient(135deg, #ffcccc, #ff9999);
        }

        .box div:nth-child(10) {
            background: linear-gradient(135deg, #ccffcc, #99ff99);
        }

        .box div:nth-child(11) {
            background: linear-gradient(135deg, #ffcc99, #ff9966);
        }

        .box div:nth-child(12) {
            background: linear-gradient(135deg, #ccccff, #9999ff);
        }

        .box div:nth-child(13) {
            background: linear-gradient(135deg, #ffcccc, #ff9999);
        }

        .box div:nth-child(14) {
            background: linear-gradient(135deg, #ccffcc, #99ff99);
        }

        .box div:nth-child(15) {
            background: linear-gradient(135deg, #ffcc99, #ff9966);
        }

        .box div:nth-child(16) {
            background: linear-gradient(135deg, #ccccff, #9999ff);
        }

        .box div:nth-child(2n) {
            height: 300px;
        }

        .box div:nth-child(3n+1) {
            height: 180px;
        }
    </style>
</head>

<body>
    <div class="box">
        <div>1</div>
        <div>2</div>
        <div>3</div>
        <div>4</div>
        <div>5</div>
        <div>6</div>
        <div>7</div>
        <div>8</div>
        <div>9</div>
        <div>10</div>
        <div>11</div>
        <div>12</div>
        <div>13</div>
        <div>14</div>
        <div>15</div>
        <div>16</div>
    </div>
</body>

</html>

扫码进群领前端资料

移动端效果

源码(直接复制粘贴就可以运行了!!!)

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>H5 瀑布流</title>
    <style>
        .lists {
            padding: 20px;
            box-sizing: border-box;
            column-count: 2;
            column-gap: 10px;
        }

        .item {
            break-inside: avoid;
            width: auto;
            height: 200px;
            background-color: #eee;
            line-height: 200px;
            text-align: center;
            margin-bottom: 10px;
        }

        .lists .item:nth-child(2n+1) {
            height: 240px;
        }

        .lists .item:nth-child(3n+1) {
            height: 320px;
        }

        .lists .item:nth-child(1) {
            background: linear-gradient(135deg, #ffcc00, #ff9900);
        }

        .lists .item:nth-child(2) {
            background: linear-gradient(135deg, #ff6666, #ff3333);
        }

        .lists .item:nth-child(3) {
            background: linear-gradient(135deg, #66ccff, #3399ff);
        }

        .lists .item:nth-child(4) {
            background: linear-gradient(135deg, #ccff66, #99ff33);
        }

        .lists .item:nth-child(5) {
            background: linear-gradient(135deg, #ffccff, #ff99cc);
        }

        .lists .item:nth-child(6) {
            background: linear-gradient(135deg, #ccffcc, #99ff99);
        }

        .lists .item:nth-child(7) {
            background: linear-gradient(135deg, #ffcc99, #ff9966);
        }

        .lists .item:nth-child(8) {
            background: linear-gradient(135deg, #ccccff, #9999ff);
        }

        .lists .item:nth-child(9) {
            background: linear-gradient(135deg, #ffcccc, #ff9999);
        }

        .lists .item:nth-child(10) {
            background: linear-gradient(135deg, #ccffcc, #99ff99);
        }

        .lists .item:nth-child(11) {
            background: linear-gradient(135deg, #ffcc99, #ff9966);
        }

        .lists .item:nth-child(12) {
            background: linear-gradient(135deg, #ccccff, #9999ff);
        }

        .lists .item:nth-child(13) {
            background: linear-gradient(135deg, #ffcccc, #ff9999);
        }

        .lists .item:nth-child(14) {
            background: linear-gradient(135deg, #ccffcc, #99ff99);
        }

        .lists .item:nth-child(15) {
            background: linear-gradient(135deg, #ffcc99, #ff9966);
        }
    </style>
</head>

<body>
    <div class="lists">
        <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 class="item">7</div>
        <div class="item">8</div>
        <div class="item">9</div>
        <div class="item">10</div>
        <div class="item">11</div>
        <div class="item">12</div>
        <div class="item">13</div>
        <div class="item">14</div>
        <div class="item">15</div>
    </div>
</body>

</html>
相关推荐
gnip27 分钟前
企业级配置式表单组件封装
前端·javascript·vue.js
一只叫煤球的猫1 小时前
写代码很6,面试秒变菜鸟?不卖课,面试官视角走心探讨
前端·后端·面试
excel2 小时前
Three.js 材质(Material)详解 —— 区别、原理、场景与示例
前端
掘金安东尼3 小时前
抛弃自定义模态框:原生Dialog的实力
前端·javascript·github
hj5914_前端新手6 小时前
javascript基础- 函数中 this 指向、call、apply、bind
前端·javascript
薛定谔的算法6 小时前
低代码编辑器项目设计与实现:以JSON为核心的数据驱动架构
前端·react.js·前端框架
Hilaku7 小时前
都2025年了,我们还有必要为了兼容性,去写那么多polyfill吗?
前端·javascript·css
yangcode7 小时前
iOS 苹果内购 Storekit 2
前端
LuckySusu7 小时前
【js篇】JavaScript 原型修改 vs 重写:深入理解 constructor的指向问题
前端·javascript
LuckySusu7 小时前
【js篇】如何准确获取对象自身的属性?hasOwnProperty深度解析
前端·javascript