纯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>
相关推荐
谢彦超oooo13 分钟前
HTML5 与前端开发要点
前端·html·html5
IT_陈寒36 分钟前
Vue 3响应式原理深度拆解:5个90%开发者不知道的Ref与Reactive底层实现差异
前端·人工智能·后端
睡前要喝豆奶粉1 小时前
在.NET Core Web Api中使用JWT并配置UserContext获取用户信息
前端·.netcore
前端加油站1 小时前
一份实用的Vue3技术栈代码评审指南
前端·vue.js
Jonathan Star7 小时前
沉浸式雨天海岸:用A-Frame打造WebXR互动场景
前端·javascript
工业甲酰苯胺8 小时前
实现 json path 来评估函数式解析器的损耗
java·前端·json
老前端的功夫8 小时前
Web应用的永生之术:PWA落地与实践深度指南
java·开发语言·前端·javascript·css·node.js
LilySesy8 小时前
ABAP+WHERE字段长度不一致报错解决
java·前端·javascript·bug·sap·abap·alv
Wang's Blog9 小时前
前端FAQ: Vue 3 与 Vue 2 相⽐有哪些重要的改进?
前端·javascript·vue.js
再希10 小时前
React+Tailwind CSS+Shadcn UI
前端·react.js·ui