純CSS3編寫的的精美動畫進(jìn)度條(無flash/無圖像/無腳本/附源碼)
發(fā)布時(shí)間:2013-01-07 10:03:57 作者:佚名
我要評論

加載動畫和進(jìn)度條的真正目的是讓用戶了解任務(wù)的進(jìn)度,有很多的基于JavaScript的動畫,但我決定切換到CSS3,使用純CSS:沒有flash,沒有圖像,沒有腳本
加載動畫和進(jìn)度條的真正目的是讓用戶了解任務(wù)的進(jìn)度,有很多的基于JavaScript的動畫,但我決定切換到CSS3。 在本教程中,我決定制作動畫的進(jìn)度條,使用純CSS:沒有flash,沒有圖像,沒有腳本。此外,我專注于尋找最簡單的辦法做到這一點(diǎn)。這里的例子:
HTML標(biāo)記:
我們需要的是這兩個(gè)div,第一個(gè)div將代表主容器和圓角和陰影效果,第二個(gè)div的實(shí)際進(jìn)度條。 我添加了一個(gè)輸入和一個(gè)按鈕控制和播放進(jìn)度條。
<div id="prbar">
<div id="prpos">
</div>
</div>
<input id="moveTo" value="57" style="width:30px;" />%
<button onclick="MoveTo();return false;">Move</button>
The CSS :
#prbar {
margin:5px;
width:500px;
background-color:#dddddd;
overflow:hidden;
/* 邊框效果 */
border: 1px solid #bbbbbb;
-moz-border-radius: 15px;
border-radius: 15px;
/* 為進(jìn)度條增加陰影效果 */
-webkit-box-shadow: 0px 2px 4px #555555;
-moz-box-shadow: 0px 2px 4px #555555;
box-shadow: 0px 2px 4px #555555;
}
/* No rounded corners for Opera, because the overflow:hidden dont work with rounded corners */
doesnotexist:-o-prefocus, #prbar {
border-radius:0px;
}
#prpos {
width:0%;
height:30px;
background-color:#3399ff;
border-right:1px solid #bbbbbb;
/* CSS3 進(jìn)度條漸變 */
transition: width 2s ease;
-webkit-transition: width 0s ease;
-o-transition: width 0s ease;
-moz-transition: width 0s ease;
-ms-transition: width 0s ease;
/* CSS3 Stripes */
background-image: linear-gradient(135deg,#3399ff 25%,#99ccff 25%,#99ccff 50%, #3399ff 50%, #3399ff 75%,#99ccff 75%,#99ccff 100%);
background-image: -moz-linear-gradient(135deg,#3399ff 25%,#99ccff 25%,#99ccff 50%, #3399ff 50%, #3399ff 75%,#99ccff 75%,#99ccff 100%);
background-image: -ms-linear-gradient(135deg,#3399ff 25%,#99ccff 25%,#99ccff 50%, #3399ff 50%, #3399ff 75%,#99ccff 75%,#99ccff 100%);
background-image: -o-linear-gradient(135deg,#3399ff 25%,#99ccff 25%,#99ccff 50%, #3399ff 50%, #3399ff 75%,#99ccff 75%,#99ccff 100%);
background-image: -webkit-gradient(linear, 100% 100%, 0 0,color-stop(.25, #99ccff), color-stop(.25, #3399ff),color-stop(.5, #3399ff),color-stop(.5, #99ccff),color-stop(.75, #99ccff),color-stop(.75, #3399ff),color-stop(1, #3399ff));
background-image: -webkit-linear-gradient(135deg,#3399ff 25%,#99ccff 25%,#99ccff 50%, #3399ff 50%, #3399ff 75%,#99ccff 75%,#99ccff 100%);
background-size: 40px 40px;
/* Background stripes animation */
animation: bganim 3s linear 2s infinite;
-moz-animation: bganim 3s linear 2s infinite;
-webkit-animation: bganim 3s linear 2s infinite;
-o-animation: bganim 3s linear 2s infinite;
-ms-animation: bganim 3s linear 2s infinite;
}
@keyframes bganim {
from {background-position:0px;} to { background-position:40px;}
}
@-moz-keyframes bganim {
from {background-position:0px;} to { background-position:40px;}
}
@-webkit-keyframes bganim {
from {background-position:0px;} to { background-position:40px;}
}
@-o-keyframes bganim {
from {background-position:0px;} to { background-position:40px;}
}
@-ms-keyframes bganim {
from {background-position:0px;} to { background-position:40px;}
}
進(jìn)度條的寬度和高度的需要只能指定一次,指定的寬度在“prbar”和高度在“prpos”內(nèi)。
您可以修改成任何你想要的背景條紋或任何紋理例如使用線性漸變,你可以畫,線,圓
The Animation :
我們的進(jìn)度條的動畫,我們只需要設(shè)置另外一個(gè)div的寬度,最簡單的方法當(dāng)然是直接指定百分比計(jì)算的寬度。
小的JavaScript函數(shù)將讀取的輸入值,并設(shè)置寬度為動畫的進(jìn)度條
function MoveTo() {
var prpos = document.getElementById('prpos');
prpos.style.width = document.getElementById('moveTo').value + "%";
}
源碼下載地址
原文 http://www.cnblogs.com/58top/archive/2013/01/07/pure_css_progress_bar_animated_by_css3.html
|
% |
HTML標(biāo)記:
我們需要的是這兩個(gè)div,第一個(gè)div將代表主容器和圓角和陰影效果,第二個(gè)div的實(shí)際進(jìn)度條。 我添加了一個(gè)輸入和一個(gè)按鈕控制和播放進(jìn)度條。
復(fù)制代碼
代碼如下:<div id="prbar">
<div id="prpos">
</div>
</div>
<input id="moveTo" value="57" style="width:30px;" />%
<button onclick="MoveTo();return false;">Move</button>
The CSS :
復(fù)制代碼
代碼如下:#prbar {
margin:5px;
width:500px;
background-color:#dddddd;
overflow:hidden;
/* 邊框效果 */
border: 1px solid #bbbbbb;
-moz-border-radius: 15px;
border-radius: 15px;
/* 為進(jìn)度條增加陰影效果 */
-webkit-box-shadow: 0px 2px 4px #555555;
-moz-box-shadow: 0px 2px 4px #555555;
box-shadow: 0px 2px 4px #555555;
}
/* No rounded corners for Opera, because the overflow:hidden dont work with rounded corners */
doesnotexist:-o-prefocus, #prbar {
border-radius:0px;
}
#prpos {
width:0%;
height:30px;
background-color:#3399ff;
border-right:1px solid #bbbbbb;
/* CSS3 進(jìn)度條漸變 */
transition: width 2s ease;
-webkit-transition: width 0s ease;
-o-transition: width 0s ease;
-moz-transition: width 0s ease;
-ms-transition: width 0s ease;
/* CSS3 Stripes */
background-image: linear-gradient(135deg,#3399ff 25%,#99ccff 25%,#99ccff 50%, #3399ff 50%, #3399ff 75%,#99ccff 75%,#99ccff 100%);
background-image: -moz-linear-gradient(135deg,#3399ff 25%,#99ccff 25%,#99ccff 50%, #3399ff 50%, #3399ff 75%,#99ccff 75%,#99ccff 100%);
background-image: -ms-linear-gradient(135deg,#3399ff 25%,#99ccff 25%,#99ccff 50%, #3399ff 50%, #3399ff 75%,#99ccff 75%,#99ccff 100%);
background-image: -o-linear-gradient(135deg,#3399ff 25%,#99ccff 25%,#99ccff 50%, #3399ff 50%, #3399ff 75%,#99ccff 75%,#99ccff 100%);
background-image: -webkit-gradient(linear, 100% 100%, 0 0,color-stop(.25, #99ccff), color-stop(.25, #3399ff),color-stop(.5, #3399ff),color-stop(.5, #99ccff),color-stop(.75, #99ccff),color-stop(.75, #3399ff),color-stop(1, #3399ff));
background-image: -webkit-linear-gradient(135deg,#3399ff 25%,#99ccff 25%,#99ccff 50%, #3399ff 50%, #3399ff 75%,#99ccff 75%,#99ccff 100%);
background-size: 40px 40px;
/* Background stripes animation */
animation: bganim 3s linear 2s infinite;
-moz-animation: bganim 3s linear 2s infinite;
-webkit-animation: bganim 3s linear 2s infinite;
-o-animation: bganim 3s linear 2s infinite;
-ms-animation: bganim 3s linear 2s infinite;
}
@keyframes bganim {
from {background-position:0px;} to { background-position:40px;}
}
@-moz-keyframes bganim {
from {background-position:0px;} to { background-position:40px;}
}
@-webkit-keyframes bganim {
from {background-position:0px;} to { background-position:40px;}
}
@-o-keyframes bganim {
from {background-position:0px;} to { background-position:40px;}
}
@-ms-keyframes bganim {
from {background-position:0px;} to { background-position:40px;}
}
進(jìn)度條的寬度和高度的需要只能指定一次,指定的寬度在“prbar”和高度在“prpos”內(nèi)。
您可以修改成任何你想要的背景條紋或任何紋理例如使用線性漸變,你可以畫,線,圓
The Animation :
我們的進(jìn)度條的動畫,我們只需要設(shè)置另外一個(gè)div的寬度,最簡單的方法當(dāng)然是直接指定百分比計(jì)算的寬度。
小的JavaScript函數(shù)將讀取的輸入值,并設(shè)置寬度為動畫的進(jìn)度條
復(fù)制代碼
代碼如下:function MoveTo() {
var prpos = document.getElementById('prpos');
prpos.style.width = document.getElementById('moveTo').value + "%";
}
源碼下載地址
原文 http://www.cnblogs.com/58top/archive/2013/01/07/pure_css_progress_bar_animated_by_css3.html
相關(guān)文章
使用CSS3制作一個(gè)簡單的進(jìn)度條(demo)
這篇文章主要介紹了使用CSS3制作一個(gè)簡單的進(jìn)度條(demo)的相關(guān)資料,需要的朋友可以參考下2017-05-23利用CSS3實(shí)現(xiàn)進(jìn)度條的兩種姿勢詳解
這篇文章主要給大家介紹了利用CSS3實(shí)現(xiàn)進(jìn)度條的兩種姿勢,文中給出了詳細(xì)的示例代碼和圖文介紹,對大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-03-21HTML5+CSS3網(wǎng)頁加載進(jìn)度條的實(shí)現(xiàn),下載進(jìn)度條的代碼實(shí)例
本篇文章主要介紹了HTML5+CSS3網(wǎng)頁加載進(jìn)度條的實(shí)現(xiàn),下載進(jìn)度條的代碼實(shí)例,具有一定的參考價(jià)值,有興趣的可以了解一下。2016-12-30- 用CSS3的border-radius、box-shadow、transition、-moz-linear-gradient、-webkit-gradient等樣式就可以完成一個(gè)時(shí)尚進(jìn)度條,這里我們來看幾個(gè)CSS3制作彩色進(jìn)度條樣式的代碼2016-06-23
圖解CSS3制作圓環(huán)形進(jìn)度條的實(shí)例教程
圓環(huán)形進(jìn)度條制作的基本思想還是畫出基本的弧線圖形,然后CSS3中我們可以控制其旋轉(zhuǎn)來串聯(lián)基本圖形,制造出部分消失的效果,下面就來帶大家學(xué)習(xí)圖解CSS3制作圓環(huán)形進(jìn)度條的實(shí)2016-05-26html5+css3進(jìn)度條倒計(jì)時(shí)動畫特效代碼【推薦】
下面小編就為大家分享一篇html5+css3進(jìn)度條倒計(jì)時(shí)動畫特效代碼【推薦】。希望對大家有所幫助。一起跟隨小編過來看看吧2016-03-08可以隨進(jìn)度顯示不同顏色的css3進(jìn)度條分享
這篇文章主要介紹了可以隨進(jìn)度顯示不同顏色的css3進(jìn)度條,文章最后有下載地址,需要的朋友可以參考下2014-04-11CSS3實(shí)現(xiàn)的閃爍跳躍進(jìn)度條示例(附源碼)
原理是通過大量的css3屬性來實(shí)現(xiàn)的,如:animation、transform、keyframes等等屬性,示例采用了結(jié)構(gòu)性偽類選擇符E:nth-child(n),來進(jìn)行對HTML元素的選擇以及控制輸出,感2013-08-19css3閃亮進(jìn)度條效果實(shí)現(xiàn)思路及代碼
進(jìn)度條而且還是帶有閃亮,不可思議吧,看下效果圖,至于實(shí)現(xiàn)代碼,感興趣的前端設(shè)計(jì)者可以參考下哈,或許有所意想不到的收獲2013-04-17css3制作動態(tài)進(jìn)度條以及附加jQuery百分比數(shù)字顯示
今天就為大家分享一個(gè)利用css3制作動態(tài)進(jìn)度條以及附加jQuery百分比數(shù)字顯示,其效果對比flash來說卻毫不遜色,有一個(gè)精致的動畫進(jìn)度條,上面還有當(dāng)前進(jìn)度的百分比數(shù)字顯示,2012-12-13