JS实现瀑布流布局

瀑布流布局是一种常见的网页布局方式,可以实现页面内容的动态排列,使页面看起来更加美观。下面是一个简单的JS实现瀑布流布局的示例:

复制代码
<!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 {
        margin-bottom: 10px;
    }
</style>
</head>
<body>
<div class="waterfall" id="waterfall">
</div>

<script>
    const waterfall = document.getElementById('waterfall');

    const data = [
        'https://via.placeholder.com/150',
        'https://via.placeholder.com/200',
        'https://via.placeholder.com/250',
        'https://via.placeholder.com/300',
        'https://via.placeholder.com/350',
        'https://via.placeholder.com/400',
        'https://via.placeholder.com/450',
        'https://via.placeholder.com/500',
    ];

    data.forEach((url) => {
        const item = document.createElement('div');
        item.className = 'item';
        const img = document.createElement('img');
        img.src = url;
        item.appendChild(img);
        waterfall.appendChild(item);
    });
</script>
</body>
</html>

在这个示例中,我们首先定义了一个包含图片链接的数组data,然后使用forEach方法遍历数组,创建div元素作为每个图片的容器,并设置其样式为item。然后创建img元素,设置其src属性为对应的图片链接,最后将img元素添加到div容器中,并将整个div容器添加到waterfall容器中。

通过这种方式,我们可以实现一个简单的瀑布流布局,使页面内容以多列的方式动态排列。你可以根据实际需求调整列数和间距等样式来实现不同的效果。

相关推荐
忘梓.6 分钟前
从二叉树到 STL:揭开 set 容器的本质与用法
开发语言·c++
crary,记忆7 分钟前
Angular报错:cann‘t bind to ngClass since it is‘t a known property of div
前端·javascript·angular·angular.js
几何心凉9 分钟前
如何处理React中表单的双向数据绑定?
前端·javascript·react.js
摸鱼仙人~10 分钟前
React Hooks 指南:何时使用 useEffect ?
javascript·react.js·ecmascript
爬虫程序猿13 分钟前
利用 Python 爬虫获取淘宝商品详情
开发语言·爬虫·python
曹勖之28 分钟前
在MATLAB中使用自定义的ROS2消息
开发语言·matlab·机器人·ros·simulink·ros2
Luffe船长35 分钟前
elementUI点击浏览table所选行数据查看文档
javascript·elementui·vue
waterHBO38 分钟前
一个小小的 flask app, 几个小工具,拼凑一下
javascript·vscode·python·flask·web app·agent mode·vibe coding
智商不够_熬夜来凑38 分钟前
anaconda安装playwright
开发语言·python
Bl_a_ck1 小时前
【JS进阶】ES5 实现继承的几种方式
开发语言·前端·javascript