基於HTML5+CSS3的圖片旋轉、無限滾動、文字跳動特效


本文分享幾種基於HTML5+CSS3實現的一些動畫特效:圖片旋轉、無限滾動、文字跳動;實現起來均比較容易,動手來試試!

一、圖片旋轉

效果圖如下:

這個效果實現起來其實並不困難。代碼清單如下:

<style type="text/css"> #liu{ width:280px; height: 279px; background: url(shishi.png) no-repeat; border-radius:140px; -webkit-animation:run 6s linear 0s infinite;  
    } #liu:hover{ -webkit-animation-play-state:paused;  
    } @-webkit-keyframes run{ from{ -webkit-transform:rotate(0deg);  
        } to{ -webkit-transform:rotate(360deg);  
        } } </style>  


<div id="liu"></div>  

1. id為liu的div就是用來展示圖片的區域,只不過這里的圖片是使用的背景圖片,並且通過設置圓角來達到圓形的效果。

2. 代碼中關鍵的部分是怎樣使得圖片無限轉動。我們可以使用-webkit-animation和@-webkit-keyframes組合使用來完成。

-webkit-animation是一個復合屬性,定義如下:
-webkit-animation: name duration timing-function delay iteration_count direction;
name: 是@-webkit-keyframes 中需要指定的方法,用來執行動畫。
duration: 動畫一個周期執行的時長。
timing-function: 動畫執行的效果,可以是線性的,也可以是"快速進入慢速出來"等。
delay: 動畫延時執行的時長。
iteration_count: 動畫循環執行次數,如果是infinite,則無限執行。
direction: 動畫執行方向。

3. @-webkit-keyframes 中的from和to 兩個屬性,就是指定動畫執行的初始值和結束值。

4. -webkit-animation-play-state:paused; 暫停動畫的執行。

二、無限滾動

其實關於無限滾動的實現,我們先看看效果圖:

我們這里采用HTML5+CSS3實現,比用JQuery簡單的多了,下圖為邏輯分析圖:

分析完畢后,代碼就方便書寫了,代碼清單如下:

<style type="text/css"> *{ margin: 0; padding: 0;  
    } #container{ width:800px; height:200px; margin:100px auto; overflow: hidden; position: relative;  
    } #container ul{ list-style: none; width:4000px; left:0; top:0; position: absolute; -webkit-animation:scoll 6s linear 0s infinite;  
    } #container ul li{ float:left; margin-right:20px;  
    } @-webkit-keyframes scoll{ from{ left:0;  
        } to{ left:-1100px;  
        } } </style>  


<div id="container">  
    <ul>  
        <li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/0.png"></a>  
        </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/1.png"></a>  
        </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/2.png"></a>  
        </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/3.png"></a>  
        </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/4.png"></a>  
        </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/0.png"></a>  
        </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/1.png"></a>  
        </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/2.png"></a>  
        </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/3.png"></a>  
        </li><li><a href="http://www.html5cn.org/home.php?mod=editor&op=blank&charset=utf-8#"><img src="http://www.html5cn.org/images/4.png"></a>  
    </li></ul>  
</div>  

三、文字跳動

我們經常可以看到用flash完成的一些文字跳動效果,不過,現在我們也可以通過HTML5+CSS3來輕松的實現這樣的效果,效果圖如下:

 

思路分析:

1. 由於文字有層次感的跳動,所以我們應該 "各個擊破", 每個文字有它自己的 "空間"。

2. 各個文字有先有后的跳動,所以我們應該一次遞增每個文字的動畫時長。

根據以上兩點分析,我們依舊可以使用-webkit-animation 和@-webkit-keyframes 組合來完成動畫效果,代碼清單如下:

<style type="text/css"> h2 span{ float:left; position: relative;  
    } h2 span:nth-child(1){ -webkit-animation:jump 1s linear 0s infinite alternate;  
    } h2 span:nth-child(2){ -webkit-animation:jump 1s linear 0.2s infinite alternate;  
    } h2 span:nth-child(3){ -webkit-animation:jump 1s linear 0.4s infinite alternate;  
    } h2 span:nth-child(4){ -webkit-animation:jump 1s linear 0.6s infinite alternate;  
    } h2 span:nth-child(5){ -webkit-animation:jump 1s linear 0.8s infinite alternate;  
    } @-webkit-keyframes jump { 0%{ top:0px; color:red;  
        } 50%{ top:-10px; color:green;  
        } 100%{ top:10px; color:blue;  
        } } </style>  


<h2>  
    <span></span>  
    <span></span>  
    <span></span>  
    <span></span>  
    <span></span>  
</h2>  

需要說明一點的是:span標簽默認是行內元素;但是對他們進行float操作之后,他們會變成塊級元素。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM