css实现瀑布流布局

瀑布流布局也可以通过纯CSS来实现,使用CSS的column属性可以实现多列布局。下面是一个使用纯CSS实现瀑布流布局的示例:

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>瀑布流布局</title>
<style>
    .waterfall {
        column-count: 4;
        column-gap: 10px;
    }

    .item {
        break-inside: avoid-column;
        margin-bottom: 10px;
    }

    .item img {
        width: 100%;
        display: block;
    }
</style>
</head>
<body>
<div class="waterfall">
    <div class="item"><img src="https://via.placeholder.com/150" alt=""></div>
    <div class="item"><img src="https://via.placeholder.com/200" alt=""></div>
    <div class="item"><img src="https://via.placeholder.com/250" alt=""></div>
    <div class="item"><img src="https://via.placeholder.com/300" alt=""></div>
    <div class="item"><img src="https://via.placeholder.com/350" alt=""></div>
    <div class="item"><img src="https://via.placeholder.com/400" alt=""></div>
    <div class="item"><img src="https://via.placeholder.com/450" alt=""></div>
    <div class="item"><img src="https://via.placeholder.com/500" alt=""></div>
</div>
</body>
</html>

在这个示例中,我们使用CSS的column-count属性将.waterfall容器分为4列,使用column-gap属性设置列与列之间的间距。然后通过break-inside: avoid-column属性确保.item元素不会被分割到两列之间。最后,设置.item img元素的宽度为100%以确保图片占满整个列,并设置display: block以消除图片之间的空隙。

通过这种方式,我们可以实现一个简单的瀑布流布局,不需要额外的JavaScript代码。你可以根据实际需求调整列数、间距和元素样式等来实现不同的效果。

相关推荐
LiaCode1 小时前
别让 AI 把仓库写成“代码平行宇宙”:从 Deslop 看生成前查重
前端·后端·github
nice先生的狂想曲1 小时前
javascript高级程序设计(六)——2026.9.5
前端·javascript
光影少年1 小时前
如何做大型React+RN 项目架构设计、目录规范
前端·react native·react.js
一位正在转型AI全栈的前端工程师2 小时前
AI 全栈学习之旅 -Week 8:从单 Agent 到多 Agent 协作:LangGraph 实战与记忆持久化
前端·python
用户921080262862 小时前
Promise 和 async/await:从用途到执行机制
前端
yyt3630458412 小时前
KLineChartQuant:GLSL 的精度问题及 RTC 解法
前端·vue.js·react.js·交互·图形渲染·webgl·数据可视化
HarmonLTS2 小时前
智盾 WAF v8.2 Ultra|下一代 Web 应用防火墙
前端
এ慕ོ冬℘゜2 小时前
前端实战:基于jQuery递归实现通用树形组织菜单(可直接复用)
前端·javascript·jquery
计算机魔术师2 小时前
英伟达据报洽谈向 Mira Murati 的 Thinking Machines Lab 投资 25 亿美元
前端
变与不变8063 小时前
js函数与封装详细解答
前端·javascript·vue.js