首頁 > web前端 > H5教程 > 主體

詳解HTML5中的進度條progress元素簡介及相容性處理的範例程式碼

黄舟
發布: 2017-03-20 15:35:12
原創
2762 人瀏覽過

HTML5能夠用progress標籤直接向頁面添加進度條,這還是相當exciting的,不過各瀏覽器下的預設顯示效果會有差異,這裡我們就來看看HTML5中的進度條progress元素簡介及相容性處理

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

<progress>o(︶︿︶)o</progress>
登入後複製

是個很有感的進度條吧。有人奇怪:「唉~怎麼我看到的是個字元表情捏?」 恩…我只能對你說:「鄙視你,丫的都捨不得用可靠點的瀏覽器嗎?!」
這個默認的效果,不同瀏覽器下的效果不盡相同,如下截圖們(window 7下):
詳解HTML5中的進度條progress元素簡介及相容性處理的範例程式碼

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

2.基本屬性
max, 值, position, 以及labels.
(1)max指最大值。若缺省,進度值範圍從0.0~1.0,如果設定成max=100, 則進度值範圍從0~100.
(2)value就是值了,若max=100, value=50則進度正好一半。 value屬性的存在與否決定了progress進度條是否具有確定性。什麼意思?比方說沒有value,是不確定的,因此IE10瀏覽器下其長相是個無限循環的虛點動畫;但是,一旦有了value屬性(即使無值),如< progress value>, 也被認為是確定的,虛點動畫進入仙人模式->變條條了,如下截圖:
詳解HTML5中的進度條progress元素簡介及相容性處理的範例程式碼

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

二、progress元素相容性處理範例
html程式碼

<progress max="100" value="20"><ie style="width:20%;"></ie></progress>
登入後複製

css相容程式碼

progress {   
    display: inline-block;   
    width: 160px;   
    height: 20px;   
    border: 1px solid #0064B4;     
    background-color:#e6e6e6;   
    color: #0064B4; /*IE10*/
}   
/*ie6-ie9*/
progress ie {   
    display:block;   
    height: 100%;   
    background: #0064B4;   
}   
progress::-moz-progress-bar { background: #0064B4; }   
progress::-webkit-progress-bar { background: #e6e6e6; }   
progress::-webkit-progress-value  { background: #0064B4; }
登入後複製

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

以上是詳解HTML5中的進度條progress元素簡介及相容性處理的範例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板