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代码。你可以根据实际需求调整列数、间距和元素样式等来实现不同的效果。

相关推荐
无名之逆34 分钟前
[特殊字符] Hyperlane:Rust 高性能 HTTP 服务器库,开启 Web 服务新纪元!
java·服务器·开发语言·前端·网络·http·rust
程序饲养员1 小时前
使用React Router 7.5进行静态站点生成(SSG)教程
前端·javascript·react.js
前端极客探险家1 小时前
使用 Vue 3 + Google Maps API 实现定位与路线规划功能
前端·javascript·vue.js
低头专研2 小时前
用 HTML 网页来管理 Markdown 标题序号
前端·html·markdown·markdown标题编号
小妖6662 小时前
html 给文本两端加虚线自适应
前端·javascript·html
阿諪諪2 小时前
Vue Router(1)
前端·javascript·vue.js
web_Hsir2 小时前
vue + uniapp 实现仿百度地图/高德地图/美团/支付宝 滑动面板 纯css 实现
css·vue.js·uni-app
键指江湖2 小时前
React 条件渲染
前端·react.js·前端框架
禾小西2 小时前
IDEA的使用
java·前端·intellij-idea
@PHARAOH2 小时前
HOW - 实现 useClickOutside 或者 useClickAway
前端·javascript·react.js