?CSS3的新特性為我們實現漂亮的進度條掃清了障礙,我們可以完全不需要任何圖片和簡單的Javascript代碼就可以構建。
**一、第一個例子**
?效果圖:

?Demo地址:[http://namepk.sinaapp.com/demo/progress.html](http://namepk.sinaapp.com/demo/progress.html)。
1、? 基本的HTML
?HTML代碼非常簡單:
~~~
<div id="loading-status"> <div id="precent"></div> </div>?
~~~
?loading-status表示外層的容器,precent表示進度條。
2、? CSS代碼
~~~
#loading-status { width: 300px; border: 1px #669CB8 solid; -webkit-box-shadow: 0px 2px 2px #D0D4D6; height: 15px; -webkit-border-radius: 10px; background: -webkit-gradient(linear, 0 0, 0 100%, from(#E1E9EE), to(white)); padding: 1px;}?
~~~
?我們為外層容器添加了邊框、圓角、陰影和漸變背景,效果如下圖所示:

?進度條的CSS代碼如下:
~~~
#process { background: -webkit-gradient(linear, 0 0, 0 100%, from(#7BC3FF), color-stop(0.5,#42A9FF), to(#7BC3FF)); width: 0%; height: 100%; -webkit-border-radius: 10px;}?
~~~
?將width修改為10%可以看到效果:

3、動畫
?通過控制width的百分比就可以控制進度條的顯示,動畫用CSS3的animation或者transition都可以實現,這里我們選擇animation:
~~~
#process { background: -webkit-gradient(linear, 0 0, 0 100%, from(#7BC3FF), color-stop(0.5,#42A9FF), to(#7BC3FF)); width: 0%; height: 100%; -webkit-border-radius: 10px; -webkit-transition: width 1s ease-in-out;}?
~~~
?然后我們通過Javascript來控制precent元素的寬度就可以實現進度條的動畫效果了:
~~~
Jquery: $(‘#precent’).width(‘80%’)Javascript: document.getElementById(‘precent’).style.width = ‘80%’?
~~~
**二、第二個例子**
?下面我們實現一個更為復雜一點的進度條:

?Demo地址:[http://namepk.sinaapp.com/demo/progress.html](http://namepk.sinaapp.com/demo/progress.html)。
1、基本的HTML
~~~
<div class="box animate"> <span> <span></span> </span> </div>?
~~~
?一共是三個元素。
2、? CSS樣式
~~~
.box { height: 20px; position: relative; background: hsl(0, 0%, 35%); -webkit-border-radius: 15px; padding: 6px; -webkit-box-shadow: inset 0 -1px 1px rgba(255, 255, 255, 0.3); width: 300px; }?
~~~
?外框樣式如下所示:

~~~
.box > span { display: block; height: 100%; -webkit-border-top-right-radius: 8px; -webkit-border-bottom-right-radius: 8px; -webkit-border-top-left-radius: 15px; -webkit-border-bottom-left-radius: 15px; background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #63DE4E), color-stop(1, #34A702)); -webkit-box-shadow: inset 0 2px 9px rgba(255,255,255,0.3), inset 0 -2px 6px rgba(0,0,0,0.4); position: relative; overflow: hidden; }?
~~~
?基本進度條樣式如下所示:

?為內層的span定義的樣式如下,主要是設定了一個漸變的背景。
~~~
.animate > span > span { content: ""; position: absolute; top: 0;left: 0;bottom: 0;right: 0; background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(.25, rgba(255, 255, 255, .2)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255, 255, 255, .2)), color-stop(.75, rgba(255, 255, 255, .2)), color-stop(.75, transparent), to(transparent)); z-index: 2; -webkit-border-top-right-radius: 8px; -webkit-border-bottom-right-radius: 8px; -webkit-border-top-left-radius: 20px; -webkit-border-bottom-left-radius: 20px; overflow: hidden; }?
~~~
?樣式如下:

?我們還需要添加一個屬性:
-webkit-background-size: 40px;?
?現在效果如下圖所示:

3、? 動畫
?動畫我們通過改變background-position來實現。代碼如下:
~~~
.animate > span span { content: ""; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(.25, rgba(255, 255, 255, .2)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255, 255, 255, .2)), color-stop(.75, rgba(255, 255, 255, .2)), color-stop(.75, transparent), to(transparent)); z-index: 2; -webkit-background-size: 40px; -webkit-animation: move 2s linear infinite; -webkit-border-top-right-radius: 8px; -webkit-border-bottom-right-radius: 8px; -webkit-border-top-left-radius: 20px; -webkit-border-bottom-left-radius: 20px; overflow: hidden; } @-webkit-keyframes move { 0% { background-position: 0 0; } 100% { background-position: 50px 50px; } }?
~~~
?最終的效果如下:

?寫在最后:由我擔任作者的一本HTML5入門書籍正在策劃和寫作中,大家可以期待一下,呵呵。

- 前言
- AutoPager的簡單實現
- 利用CSS3特性巧妙實現漂亮的DIV箭頭
- IE9在Win7下任務欄新特性簡介
- 瀏覽器九宮格的簡單實現
- Raphael js庫簡介
- 使用CSS3構建Ajax加載動畫
- 用CSS3創建動畫價格表
- 用CSS3實現瀏覽器的縮放功能
- 用純CSS3實現QQ LOGO
- 用CSS3創建旋轉載入器
- 使用Javascript開發移動應用程序
- 用HTML5創建超酷圖像灰度漸變效果
- 使用CSS3創建文字顏色漸變(CSS3 Text Gradient)
- 僅用CSS創建立體旋轉幻燈片
- 如何創建跨瀏覽器的HTML5表單
- 用CSS3實現動畫進度條
- HTML5 Guitar Tab Player
- 奇妙的HTML5 Canvas動畫實例
- 談HTML5和CSS3的國際化支持
- 實現跨瀏覽器的HTML5占位符
- 前端開發必備工具:WhatFont Bookmarklet-方便的查詢網頁上的字體
- 使用HTML5和CSS3來創建幻燈片
- HTML5之美
- 如何使用HTML5創建在線精美簡歷
- 以小見大、由淺入深-談如何面試Javascript工程師
- 快速入門:HTML5強大的Details元素
- 用CSS3實現圖像風格
- HTML5視頻字幕與WebVTT
- 用純CSS3實現Path華麗動畫
- 用3個步驟實現響應式網頁設計
- 遇見CSS3濾鏡
- 關于CSS3濾鏡的碎念
- 用純CSS3繪制萌系漫畫人物動態頭像
- CSS3新的鼠標樣式介紹
- 用HTML5獻上愛的3D玫瑰
- 對HTML5 Device API相關規范的解惑
- 如何使用HTML5實現拍照上傳應用
- 2012第一季度國外HTML5移動開發趨勢
- HTML5新特性:范圍樣式
- 百度開發者大會-《用HTML5新特性開發移動App》PPT分享
- Chrome 19對于HTML5最新支持的動態:電池狀態API,全屏API,震動API,語音API
- 遇見Javascript類型數組(Typed Array)
- 用HTML5 Audio API開發游戲音樂
- 用HTML5實現人臉識別
- 用Javascript實現人臉美容
- Chrome 20對于HTML5最新支持的動態:顏色輸入,網絡信息API,CSS著色器
- 用HTML5實現手機搖一搖的功能
- 用HTML5實現iPad應用無限平滑滾動
- 用非響應式設計構建跨端Web App
- 了解SVG
- HTML5圖像適配介紹
- HTML5安全:內容安全策略(CSP)簡介
- HTML5安全:CORS(跨域資源共享)簡介
- 用CSS3 Region和3D變換實現書籍翻頁效果
- 談談移動App的思維誤區
- Chrome新特性:文件夾拖拽支持
- 《關注HTML5安全》
- HTML5安全風險詳析之一:CORS攻擊
- HTML5安全風險詳析之二:Web Storage攻擊
- HTML5圖像適配最新進展:響應式圖片規范草案
- HTML5移動Web App相關標準狀態及路線圖
- HTML5安全風險詳析之三:WebSQL攻擊
- Chrome引入WebRTC支持視頻聊天App
- HTML5安全風險詳析之四:Web Worker攻擊
- HTML5安全風險詳析之五:劫持攻擊
- HTML5安全風險詳析之六:API攻擊
- HTML5安全攻防詳析之七:新標簽攻擊
- 在iOS Safari中播放離線音頻
- 使用WebRTC實現遠程屏幕共享
- Firefox、Android、iOS遇見WebRTC
- HTML5光線傳感器簡介
- HTML5安全攻防詳析之八:Web Socket攻擊
- HTML5安全攻防詳析之完結篇:HTML5對安全的改進
- 激動人心!在網頁上通過語音輸入文字 - HTML5 Web Speech API介紹
- Web滾動性能優化實戰
- 用CSS3設計響應式導航菜單
- 用HTML5構建高性能視差網站
- 漫談@supports與CSS3條件規則
- HTML5下載屬性簡介
- 如何開發優秀的HTML5游戲?-迪斯尼《尋找奧茲之路》游戲技術詳解(一)
- 如何開發優秀的HTML5游戲?-迪斯尼《尋找奧茲之路》游戲技術詳解(二)
- 趨勢:Chrome為打包應用提供強大新特性
- 從HTML5移動應用現狀談發展趨勢
- 基于HTML5的Web跨設備超聲波通信方案