DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> HTML基礎知識 >> HTML5教程 >> HTML5中的進度條progress元素簡介及兼容性處理
HTML5中的進度條progress元素簡介及兼容性處理
編輯:HTML5教程     

一、progress元素基本了解
1.基本UI
progress元素屬於HTML5家族,指進度條。IE10+以及其他靠譜浏覽器都支持。如下簡單code:

XML/HTML Code復制內容到剪貼板
  1. <progress>o(︶︿︶)o</progress>  

是個很帶感的進度條吧。有人奇怪:“唉~怎麼我看到的是個字符表情捏?” 恩…我只能對你說:“鄙視你,丫的都捨不得用靠譜點的浏覽器嗎?!”
這個默認的效果,不同浏覽器下的效果不盡相同,如下截圖們(window 7下):
201662114209261.png (456×417)

IE10顆粒的緩動聚散效果,還是挺讓人眼前一亮的。

2.基本屬性
max, value, position, 以及labels.
(1)max指最大值。若缺省,進度值范圍從0.0~1.0,如果設置成max=100, 則進度值范圍從0~100.
(2)value就是值了,若max=100, value=50則進度正好一半。value屬性的存在與否決定了progress進度條是否具有確定性。什麼意思?比方說<progress></progress>沒有value,是不確定的,因此IE10浏覽器下其長相是個無限循環的虛點動畫;但是,一旦有了value屬性(即使無值),如<progress value></progress>, 也被認為是確定的,虛點動畫進入仙人模式——>變條條了,如下截圖:
201662114237282.png (301×78)

(3)position是只讀屬性,顧名思意,當前進度的位置,就是value / max的值。如果進度條不確定,則值為-1.
(4)labels也是只讀屬性,得到的是指向該progress元素的label元素們。例如document.querySelector("progress").labels,返回的就是HTMLCollection, 下為我的某測試截圖(截自Opera浏覽器下,目前FireFox18.0.2以及IE10貌似都不支持)。

二、progress元素兼容性處理示例
html代碼

XML/HTML Code復制內容到剪貼板
  1. <progress max="100" value="20"><ie style="width:20%;"></ie></progress>  

css兼容代碼

CSS Code復制內容到剪貼板
  1. progress {   
  2.     display: inline-block;   
  3.     width: 160px;   
  4.     height: 20px;   
  5.     border: 1px solid #0064B4;     
  6.     background-color:#e6e6e6;   
  7.     color: #0064B4; /*IE10*/  
  8. }   
  9. /*ie6-ie9*/  
  10. progress ie {   
  11.     display:block;   
  12.     height: 100%;   
  13.     background: #0064B4;   
  14. }   
  15. progress::-moz-progress-bar { background: #0064B4; }   
  16. progress::-webkit-progress-bar { background: #e6e6e6; }   
  17. progress::-webkit-progress-value  { background: #0064B4; }  

基本上完美的解決了各浏覽器的差別。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved