zoukankan      html  css  js  c++  java
  • 简单瀑布流布局

     三列,每列之间的间隔是10px,每个div高度50-250px

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
    
            section.wrapper {
                 1260px;
                margin: 0 auto;
            }
    
            section.wrapper:after {
                content: '';
                display: block;
                height: 0;
                clear: both;
                visibility: hidden;
            }
    
            section.wrapper div.column {
                float: left;
                 400px;
                padding: 10px;
            }
    
            .wrapper .waterfall-box {
                 400px;
                margin-bottom: 10px;
                background-color: pink;
            }
    
        </style>
    
    </head>
    <body>
    <section class="wrapper">
        <div id="div0" class="column"></div>
        <div id="div1" class="column"></div>
        <div id="div2" class="column"></div>
    </section>
    
    <script>
    
        var yArr = [10, 10, 10];
        const GAP = 10;
    
        for (var i = 0; i < 8; i++) {
            waterfall();
    
        }
    
        function waterfall() {
            var height = parseInt(50 + 200 * Math.random());
    
    
            var box = document.createElement('div');
            box.className = 'waterfall-box';
            box.style.height = height + 'px';
    
            var minY = findMin(yArr);
            yArr[minY.minIndex] += height + GAP;
    
            var div = document.getElementById('div' + minY.minIndex);
            div.appendChild(box);
    
            function findMin(arr) {
                var minEle,
                    minIndex;
                arr.forEach(function (ele, index, arr) {
                    if (minEle === undefined || minEle > ele) {
                        minEle = ele;
                        minIndex = index;
                    }
                })
                return {
                    minEle: minEle,
                    minIndex: minIndex
                }
            }
    
        }
    
        
    
    </script>
    
    </body>
    </html>
  • 相关阅读:
    Mybatis核心
    正则表达式(二)Java中正则表达式的使用
    Elasticsearch(ES)分词器的那些事儿
    并发编程之:JUC并发控制工具
    scrollTo()和scrollBy()的区别
    SpringBoot 的@Value注解太强大了,用了都说爽!
    SQL 查询并不是从 SELECT 开始的
    jsoup 教程
    爬虫
    case when以及集合聚合函数的用法
  • 原文地址:https://www.cnblogs.com/zmiaozzz/p/6842126.html
Copyright © 2011-2022 走看看