HTML5中的进度条progress元素简介及兼容性处理


Posted in HTML / CSS onJune 02, 2016

一、progress元素基本了解
1.基本UI
progress元素属于HTML5家族,指进度条。IE10+以及其他靠谱浏览器都支持。如下简单code:

XML/HTML Code复制内容到剪贴板
  1. <progress>o(︶︿︶)o</progress>  

是个很带感的进度条吧。有人奇怪:“唉~怎么我看到的是个字符表情捏?” 恩…我只能对你说:“鄙视你,丫的都舍不得用靠谱点的浏览器吗?!”
这个默认的效果,不同浏览器下的效果不尽相同,如下截图们(window 7下):
HTML5中的进度条progress元素简介及兼容性处理

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>, 也被认为是确定的,虚点动画进入仙人模式——>变条条了,如下截图:
HTML5中的进度条progress元素简介及兼容性处理

(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.     displayinline-block;   
  3.     width160px;   
  4.     height20px;   
  5.     border1px 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; }  

基本上完美的解决了各浏览器的差别。

HTML / CSS 相关文章推荐
任意一块网页内容实现“活”的背景(目前火狐浏览器专有)
May 07 HTML / CSS
CSS3中HSL和HSLA的简单使用示例
Jul 14 HTML / CSS
使用HTML和CSS3绘制基本卡通图案的示例分享
Nov 06 HTML / CSS
CSS3制作炫酷的自定义发光文字
Mar 28 HTML / CSS
用CSS3的box-reflect来制作倒影效果
Nov 15 HTML / CSS
CSS3制作3D立方体loading特效
Nov 09 HTML / CSS
html5 利用canvas手写签名并保存的实现方法
Jul 12 HTML / CSS
Html5实现iPhone开机界面示例代码
Jun 30 HTML / CSS
HTML5实现晶莹剔透的雨滴特效
May 14 HTML / CSS
HTML5 创建canvas元素示例代码
Jun 04 HTML / CSS
css3应用示例:新增的选择器
Mar 16 HTML / CSS
css弧边选项卡的项目实践
May 07 HTML / CSS
关于老式浏览器兼容HTML5和CSS3的问题
Jun 01 #HTML / CSS
h5调用摄像头的实现方法
Jun 01 #HTML / CSS
HTML5拖拽的简单实例
May 30 #HTML / CSS
HTML5对比HTML4的主要改变和改进总结
May 27 #HTML / CSS
Html5实现用户注册自动校验功能实例代码
May 24 #HTML / CSS
用HTML5的canvas实现一个炫酷时钟效果
May 20 #HTML / CSS
深入理解HTML的FormData对象
May 17 #HTML / CSS
You might like
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
php生成图片验证码
2015/06/09 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
JS 跳转页面延迟2种方法
2013/03/29 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
javascript获取网页宽高方法汇总
2015/07/19 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
详解JS获取HTML DOM元素的8种方法
2017/06/17 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
关于微信小程序bug记录与解决方法
2018/08/15 Javascript
详解JavaScript中的函数、对象
2019/04/01 Javascript
JS实现点击掉落特效
2021/01/29 Javascript
如何管理Vue中的缓存页面
2021/02/06 Vue.js
[46:20]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
简单实现python爬虫功能
2015/12/31 Python
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
Bottle框架中的装饰器类和描述符应用详解
2017/10/28 Python
基于Python List的赋值方法
2018/06/23 Python
Python实现将Excel转换成xml的方法示例
2018/08/25 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
2013/09/10 面试题
大学毕业生工作的自我评价
2013/10/01 职场文书
九年级化学教学反思
2014/01/28 职场文书
触摸春天教学反思
2014/02/03 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
写求职信有哪些注意事项
2014/05/08 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
乡镇司法所2015年度工作总结
2015/10/14 职场文书
springboot读取resources下文件的方式详解
2022/06/21 Java/Android