可以隨進(jìn)度顯示不同顏色的css3進(jìn)度條分享

一款進(jìn)度條,它的外觀是一條直線,末端有個(gè)小球,在進(jìn)度變化時(shí)可以顯示數(shù)字百分比,更可以用不同顏色來表示當(dāng)前進(jìn)度的狀態(tài)。來看看效果圖。
接下來我們來分析一下這款HTML5進(jìn)度條的實(shí)現(xiàn)源碼,篇幅有限,我們只挑核心的代碼來說。
HTML代碼很簡單,構(gòu)造一個(gè)進(jìn)度條容器和數(shù)字百分比容器:
<div id="wrapper">
<div class="loader-container">
<div class="meter">0</div>
<span class="runner"></span>
</div>
</div>
首先我們來對(duì)進(jìn)度條的容器進(jìn)行樣式渲染,利用CSS3的漸變屬性來實(shí)現(xiàn)不同進(jìn)度變換顏色的效果:
.loader-container {
height: 6px;
width: 600px;
position: absolute;
top: 50%;
left: 50%;
margin-top: -3px;
margin-left: -300px;
background-color: transparent;
background-image: -webkit-linear-gradient(left, #5bd8ff, #ff0000);
background-image: -moz-linear-gradient(left, #5bd8ff, #ff0000);
background-image: -o-linear-gradient(left, #5bd8ff, #ff0000);
background-image: -ms-linear-gradient(left, #5bd8ff, #ff0000);
background-image: linear-gradient(left, #5bd8ff, #ff0000);
box-shadow: inset 0 -2px 2px rgba(0, 0, 0, 0.4);
border-radius: 3px 0 0 3px;
}
.loader-container:after {
content: "";
display: block;
position: absolute;
right: 0;
top: 50%;
width: 1em;
height: 1em;
border-radius: 50%;
margin-top: -0.5em;
margin-right: -1em;
background-image: -webkit-linear-gradient(top, #000000, #212121);
background-image: -moz-linear-gradient(top, #000000, #212121);
background-image: -o-linear-gradient(top, #000000, #212121);
background-image: -ms-linear-gradient(top, #000000, #212121);
background-image: linear-gradient(top, #000000, #212121);
}
接下來是末端小圓球的樣式:
.loader-container.done:after {
background: Red;
}
.run .runner {
content: "";
position: absolute;
right: 0;
height: 100%;
width: 0%;
background-color: transparent;
background-image: -webkit-linear-gradient(top, #000000, #212121);
background-image: -moz-linear-gradient(top, #000000, #212121);
background-image: -o-linear-gradient(top, #000000, #212121);
background-image: -ms-linear-gradient(top, #000000, #212121);
background-image: linear-gradient(top, #000000, #212121);
animation: loader 10s linear;
}
這里也是利用的CSS3的漸變屬性。
然后是數(shù)字百分比的樣式屬性,這里隨著進(jìn)度變化,數(shù)字百分比的顏色也會(huì)發(fā)生變化。
.meter {
position: absolute;
top: 0;
right: 0;
font-size: 2em;
margin-top: .3em;
color: #ff0000;
animation: meter 10s linear;
text-shadow: 0 -1px 0 #333333;
}
.meter:after {
content: "%";
}
最后,我們?cè)賮砜纯碕S代碼,其實(shí)js要完成的工作非常簡單,只需要將CSS3渲染好的進(jìn)度條動(dòng)起來就好,看代碼:
var Loader = function () {
var loader = document.querySelector('.loader-container'),
meter = document.querySelector('.meter'),
k, i = 1,
counter = function () {
if (i <= 100) {
meter.innerHTML = i.toString();
i++;
} else {
window.clearInterval(k);
}
};
return {
init: function (options) {
options = options || {};
var time = options.time ? options.time : 0,
interval = time/100;
loader.classList.add('run');
k = window.setInterval(counter, interval);
setTimeout(function () {
loader.classList.add('done');
}, time);
},
}
}();
Loader.init({
// If you have changed the @time in LESS, update this number to the corresponding value. Measured in miliseconds.
time: 10000
});
源碼打包下載地址:http://xiazai.jb51.net/201403/tools/css3jdt.rar
相關(guān)文章
使用CSS3制作一個(gè)簡單的進(jìn)度條(demo)
這篇文章主要介紹了使用CSS3制作一個(gè)簡單的進(jìn)度條(demo)的相關(guān)資料,需要的朋友可以參考下2017-05-23利用CSS3實(shí)現(xiàn)進(jìn)度條的兩種姿勢(shì)詳解
這篇文章主要給大家介紹了利用CSS3實(shí)現(xiàn)進(jìn)度條的兩種姿勢(shì),文中給出了詳細(xì)的示例代碼和圖文介紹,對(duì)大家具有一定的參考價(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í)動(dòng)畫特效代碼【推薦】
下面小編就為大家分享一篇html5+css3進(jìn)度條倒計(jì)時(shí)動(dòng)畫特效代碼【推薦】。希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2016-03-08CSS3實(shí)現(xiàn)的閃爍跳躍進(jìn)度條示例(附源碼)
原理是通過大量的css3屬性來實(shí)現(xiàn)的,如:animation、transform、keyframes等等屬性,示例采用了結(jié)構(gòu)性偽類選擇符E:nth-child(n),來進(jìn)行對(duì)HTML元素的選擇以及控制輸出,感2013-08-19css3閃亮進(jìn)度條效果實(shí)現(xiàn)思路及代碼
進(jìn)度條而且還是帶有閃亮,不可思議吧,看下效果圖,至于實(shí)現(xiàn)代碼,感興趣的前端設(shè)計(jì)者可以參考下哈,或許有所意想不到的收獲2013-04-17純CSS3編寫的的精美動(dòng)畫進(jìn)度條(無flash/無圖像/無腳本/附源碼)
加載動(dòng)畫和進(jìn)度條的真正目的是讓用戶了解任務(wù)的進(jìn)度,有很多的基于JavaScript的動(dòng)畫,但我決定切換到CSS3,使用純CSS:沒有flash,沒有圖像,沒有腳本2013-01-07css3制作動(dòng)態(tài)進(jìn)度條以及附加jQuery百分比數(shù)字顯示
今天就為大家分享一個(gè)利用css3制作動(dòng)態(tài)進(jìn)度條以及附加jQuery百分比數(shù)字顯示,其效果對(duì)比flash來說卻毫不遜色,有一個(gè)精致的動(dòng)畫進(jìn)度條,上面還有當(dāng)前進(jìn)度的百分比數(shù)字顯示,2012-12-13