為網格布局圖片打造的超炫 CSS 載入動畫

來源:互聯網
上載者:User

標籤:style   blog   http   io   使用   java   ar   strong   for   

  今天,我想與大家分享一些專門為網格布局的映像製作的很酷的 CSS 載入動畫效果。您可以把這些效果用在你的作品集,部落格或任何你想要的網頁中。設定很簡單。我們使用了下面這些工具庫來實現這個效果:

  • Normalize.css 來替代傳統的 CSS 複位;
  • ZURB Foundation 建立具有響應式的網格;
  • Masonry 建立一個動態網格布局;
  • imagesLoaded 檢查是否已載入映像;
  • Infinite Scroll 載入更多圖片並追加到畫廊。

  現在,讓我們來看看一些實際的代碼,這應該是大家最想知道的!

 

 

效果示範      源碼下載

 

HTML 程式碼

其實 HTML 程式碼都是很簡單的,複雜和創意的部分在 CSS。代碼如下:

<div class="row">    <div class="large-12 columns main">        <ul class="small-block-grid-2 medium-block-grid-3 large-block-grid-3 masonry">            <li class="masonry-item"><a target="_blank" href="#"><img src="images/01.jpg"  /></a></li>            <li class="masonry-item"><a target="_blank" href="#"><img src="images/02.jpg"  /></a></li>            <li class="masonry-item"><a target="_blank" href="#"><img src="images/03.jpg"  /></a></li>            <li class="masonry-item"><a target="_blank" href="#"><img src="images/04.jpg"  /></a></li>            <li class="masonry-item"><a target="_blank" href="#/"><img src="images/05.jpg"  /></a></li>            <li class="masonry-item"><a target="_blank" href="#"><img src="images/06.jpg"  /></a></li>            <li class="masonry-item"><a target="_blank" href="#"><img src="images/07.jpg"  /></a></li>            <li class="masonry-item"><a target="_blank" href="#"><img src="images/08.jpg"  /></a></li>            <li class="masonry-item"><a target="_blank" href="#"><img src="images/09.jpg"  /></a></li>            <li class="masonry-item"><a target="_blank" href="#"><img src="images/10.jpg"  /></a></li>            <li class="masonry-item"><a target="_blank" href="#"><img src="images/11.jpg"  /></a></li>            <li class="masonry-item"><a target="_blank" href="#"><img src="images/12.jpg"  /></a></li>            <li class="masonry-item"><a target="_blank" href="#/"><img src="images/13.jpg"  /></a></li>            <li class="masonry-item"><a target="_blank" href="#"><img src="images/14.jpg"  /></a></li>            <li class="masonry-item"><a target="_blank" href="#"><img src="images/15.jpg"  /></a></li>        </ul>        <ul class="pagination">            <li><a class="next" href="index-02.php">Next Page</a></li>        </ul>        <div class="loading"></div>    </div><!-- End .main --></div><!-- End .row -->
CSS 代碼

CSS 部分主要是動畫效果,我們以 tada 效果為例:

@keyframes tada{    0%    {        -webkit-transform: scale(1);           -moz-transform: scale(1);            -ms-transform: scale(1);             -o-transform: scale(1);                transform: scale(1);    }    10%,    20%    {        -webkit-transform: scale(.8) rotate(-2deg);           -moz-transform: scale(.8) rotate(-2deg);            -ms-transform: scale(.8) rotate(-2deg);             -o-transform: scale(.8) rotate(-2deg);                transform: scale(.8) rotate(-2deg);    }    30%,    50%,    70%,    90%    {        -webkit-transform: scale(1.04) rotate(2deg);           -moz-transform: scale(1.04) rotate(2deg);            -ms-transform: scale(1.04) rotate(2deg);             -o-transform: scale(1.04) rotate(2deg);                transform: scale(1.04) rotate(2deg);    }    40%,    60%,    80%    {        -webkit-transform: scale(1.04) rotate(-2deg);           -moz-transform: scale(1.04) rotate(-2deg);            -ms-transform: scale(1.04) rotate(-2deg);             -o-transform: scale(1.04) rotate(-2deg);                transform: scale(1.04) rotate(-2deg);    }    100%    {        -webkit-transform: scale(1) rotate(0);           -moz-transform: scale(1) rotate(0);            -ms-transform: scale(1) rotate(0);             -o-transform: scale(1) rotate(0);                transform: scale(1) rotate(0);    }}.tada{    -webkit-animation-name: tada;       -moz-animation-name: tada;            animation-name: tada;}
jQuery

當映像被載入進來後,我們給映像添加上 CSS 效果,然後我們找到並顯示該項目,最後會重新整理 Masonry 布局。當使用者滾動頁面的時候,無限滾動外掛程式將裝載更多的映像並重複前面的步驟。代碼如下:

jQuery(document)    .ready(function($) {        // Replace "tada" with an effect from the "effects.css" file.        var effect = ‘animate tada‘;        var masonry_selector = ‘.masonry‘;        var masonry_item_selector = ‘.masonry-item‘;        // Initialize Masonry.        var $masonry = $(masonry_selector)            .masonry({                itemSelector: masonry_item_selector            });        // Find and hide the items.        var $masonry_items = $masonry            .find(masonry_item_selector)            .hide();        // Wait for the images to load.        $masonry            .imagesLoaded()            // An image has been loaded.            .progress(function(instance, image) {                // Add the effect.                var $image = $(image.img)                    .addClass(effect);                // Find and show the item.                var $item = $image                    .parents(masonry_item_selector)                    .show();                // Lay out Masonry.                $masonry                    .masonry();            });        // Load more items.        $masonry            .infinitescroll({                navSelector: ‘.pagination‘,                nextSelector: ‘.pagination .next‘,                itemSelector: masonry_item_selector,                loading: {                    finishedMsg: ‘No more pages to load.‘,                    img: ‘images/loader.gif‘,                    msgText: ‘Loading the next page.‘,                    selector: ‘.loading‘                }            }, function(items, data, url) {                var $items = $(items)                    .hide()                    .imagesLoaded()                    .progress(function(instance, image) {                        var $image = $(image.img)                            .addClass(effect);                        var $item = $image                            .parents(masonry_item_selector)                            .addClass(‘infinite-scroll-item‘)                            .show();                        $masonry                            .masonry(‘appended‘, $item);                    });            });    });

  

您可能感興趣的相關文章
  • Web 開發中很實用的10個效果【源碼下載】
  • 精心挑選的優秀jQuery Ajax分頁外掛程式和教程
  • 12個讓人驚歎的的創意的 404 錯誤頁面設計
  • 讓網站動起來!12款優秀的 jQuery 動畫外掛程式
  • 十分驚豔的8個 HTML5 & JavaScript 特效

 

本文連結:為網格布局圖片打造的超炫 CSS 載入動畫效果

編譯來源:夢想天空 ◆ 關注前端開發技術 ◆ 分享網頁設計資源

本文來自【夢想天空(http://www.cnblogs.com/lhb25/)】

為網格布局圖片打造的超炫 CSS 載入動畫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.