代码最少的网页瀑布流效果


<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title>代码最少的瀑布流实现</title>
        <style>
            html {
                _background: url(about:blank);
            }
            
            body {
                background-color: lightgreen;
                color: #333;
                overflow-x: hidden;
            }
            
            body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td {
                margin: 0;
                padding: 0;
            }
            
            body, button, input, select, textarea {
                font: 12px / 1.5 Microsoft YaHei, Tahoma, Helvetica, Arial, simsun
            }
            
            address, cite, dfn, em, var, i {
                font-style: normal;
            }
            
            ul, ol {
                list-style: none;
            }
            
            fieldset, img {
                border: 0;
            }
            
            h1 {
                font-size: 18px;
            }
            
            h2 {
                font-size: 14px;
                font-weight: bold;
            }
            
            h3 {
                font-size: 14px;
                font-weight: 400;
            }
            
            h4, h5 {
                font-size: 12px;
                font-weight: 400;
            }
            
            input, textarea, button, select {
                font-size: 12px;
                outline: none;
                resize: none;
                color: #333;
            }
            
            button {
                cursor: pointer;
            }
            
            table {
                border-collapse: collapse;
                border-spacing: 0;
            } .clear {
                clear: both;
                height: 0;
                font-size: 0;
                line-height: 0;
                overflow: hidden;
            } .cle:after, .clearfix:after, .clear_f:after, .cle_float:after {
                content: ".";
                display: block;
                height: 0;
                clear: both;
                visibility: hidden
            } .cle, .clearfix, .clear_f, .cle_float {
                zoom: 1
            } .fl {
                float: left;
            } .fr {
                float: right;
            }
            
            a {
                text-decoration: none;
                color: #333;
                -webkit-transition: color .2s;
                -moz-transition: color .2s;
                -o-transition: color .2s;
                -ms-transition: color .2s;
                transition: color .2s;
            }
            
            a:hover {
                text-decoration: underline;
                color: #ff7d8e;
            }
            
            a:focus {
                outline: none;
            }::
            
            selection {
                background: #ff7d8e;
                color: #fff;
            } #wrapper {
                width: 1008px;
                margin: 15px auto;
            } 
			.brand-list {
                width: 1100px;
                overflow: hidden;
                margin-left: -10px;
            } 
			.brand-list .brand-bd {
                position: relative;
                margin-left: 10px;
                margin-top: 5px;
            } 
			.brand-list .item {
                position: absolute;
                width: 202px;
                background-color: #f8f8f8;
                border: 1px solid #f8f8f8;
                padding: 18px;
                top: 0;
                left: 40%;
                -webkit-transition: all 0.3s;
                -moz-transition: all 0.3s;
                -o-transition: all 0.3s;
                -ms-transition: all 0.3s;
                transition: all 0.3s;
            } 
			.brand-list .hover {
                box-shadow: 0px 1px 8px rgba(200, 200, 200, .6);
                background-color: #fff;
                border-color: #c8c8c8;
            } 
			.brand-list .additem {
                padding: 0;
                width: 240px;
                border: none;
            } 
			.brand-list .item h3 {
                font-size: 42px;
                color: #666;
                font-family: arial;
                font-weight: bold;
                line-height: .8;
                margin-bottom: 20px;
            } 
			.brand-list .item p {
                margin-bottom: 15px;
            }
        </style>
    </head>
    <body>
        <div id="wrapper">
            <div class="brand-list">
                <div class="brand-bd cle" id="brand-waterfall">
                    <!-- 循环字母模块 item -->
                    <div class="item" id="brand-a">
                        <h3>A拼音</h3>
                        <p>
                            <a href="#" target="_blank">ARDELL/艾黛尔</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">ANNASUI/安娜苏</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">ETUDEHOUSE/爱丽小屋</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">abeeco</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">AFU/阿芙</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">Egyptian-Magic-Cream/埃及魔法膏</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">adidas/阿迪达斯</a>
                        </p>
                    </div>
                    <div class="item" id="brand-c">
                        <h3>C起头</h3>
                        <p>
                            <a href="#" target="_blank">Fenix/长生鸟</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">For Beloved One/宠爱之名</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">CHARMZONE/婵真</a>
                        </p>
                    </div>
                    <div class="item" id="brand-d">
                        <h3>D开始</h3>
                        <p>
                            <a href="#" target="_blank">Dr.Jart+Dr.MJDior/迪奥</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">dodo</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">Dior/迪奥</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">Dove/多芬</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">DHC/蝶翠诗</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">Davidoff/大卫杜夫</a>
                        </p>
                    </div>
                    <div class="item" id="brand-e">
                        <h3>E拼音</h3>
                        <p>
                            <a href="#" target="_blank">N-Dorphin/恩朵娉</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">OPERA/娥佩兰</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">ELF</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">eos</a>
                        </p>
                    </div>
                    <div class="item" id="brand-f">
                        <h3>F拼音头</h3>
                        <p>
                            <a href="#" target="_blank">芳草集</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">THEFACESHOP/菲诗小铺</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">Fanxishop/凡茜</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">FANCL/芳珂(芳凯尔)</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">VERSACE/范思哲</a>
                        </p>
                    </div>
                    <div class="item" id="brand-h">
                        <h3>H首字母</h3>
                        <p>
                            <a href="#" target="_blank">LAMER/海蓝之谜</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">BOCOTON/海诺丝丽</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">CO.E/韩伊</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">花瑶花</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">花漾美姬</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">HEY NATURE/韩彩妮</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">Hipitch/黑龙堂</a>
                        </p>
                    </div>
                    <div class="item" id="brand-l">
                        <h3>L相关</h3>
                        <p>
                            <a href="#" target="_blank">LAMER/海蓝之谜</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">BOCOTON/海诺丝丽</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">CO.E/韩伊</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">CO.E/韩伊</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">CO.E/韩伊</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">Herbacin/贺本清</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">花瑶花</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">花漾美姬</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">HEY NATURE/韩彩妮</a>
                        </p>
                        <p>
                            <a href="#" target="_blank">Hipitch/黑龙堂</a>
                        </p>
                    </div>
                </div>
            </div>
        </div>
        <script id="jquery_183" type="text/javascript" class="library" src="http://www.codefans.net/ajaxjs/jquery-1.6.2.min.js">
        </script>
        <script>
            $(function(){
                $('#brand-waterfall').waterfall();
            });
            // 瀑布流插件
            // pannysp 2013.4.9
            ;
            (function($){
                $.fn.waterfall = function(options){
                    var df = {
                        item: '.item',
                        margin: 15,
                        addfooter: true
                    };
                    options = $.extend(df, options);
                    return this.each(function(){
                        var $box = $(this), pos = [], _box_width = $box.width(), $items = $box.find(options.item), _owidth = $items.eq(0).outerWidth() + options.margin, _oheight = $items.eq(0).outerHeight() + options.margin, _num = Math.floor(_box_width / _owidth);
                        (function(){
                            var i = 0;
                            for (; i < _num; i++) {
                                pos.push([i * _owidth, 0]);
                            }
                        })();
                        $items.each(function(){
                            var _this = $(this), _temp = 0, _height = _this.outerHeight() + options.margin;
                            
                            _this.hover(function(){
                                _this.addClass('hover');
                            }, function(){
                                _this.removeClass('hover');
                            });
                            
                            for (var j = 0; j < _num; j++) {
                                if (pos[j][1] < pos[_temp][1]) {
                                    //暂存top值最小那列的index
                                    _temp = j;
                                }
                            }
                            this.style.cssText = 'left:' + pos[_temp][0] + 'px; top:' + pos[_temp][1] + 'px;';
                            //插入后,更新下该列的top值
                            pos[_temp][1] = pos[_temp][1] + _height;
                        });
                        
                        // 计算top值最大的赋给外围div
                        (function(){
                            var i = 0, tops = [];
                            for (; i < _num; i++) {
                                tops.push(pos[i][1]);
                            }
                            tops.sort(function(a, b){
                                return a - b;
                            });
                            $box.height(tops[_num - 1]);
                            //增加尾部填充div
                            if (options.addfooter) {
                                addfooter(tops[_num - 1]);
                            }
                        })();
                        function addfooter(max){
                            var addfooter = document.createElement('div');
                            addfooter.className = 'item additem';
                            for (var i = 0; i < _num; i++) {
                                if (max != pos[i][1]) {
                                    var clone = addfooter.cloneNode(), _height = max - pos[i][1] - options.margin;
                                    clone.style.cssText = 'left:' + pos[i][0] + 'px; top:' + pos[i][1] + 'px; height:' + _height + 'px;';
                                    $box[0].appendChild(clone);
                                }
                            }
                        }
                    });
                }
            })(jQuery);
        </script>
    </body>
</html>






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值