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 相关文章推荐
CSS3中border-radius属性设定圆角的使用技巧
May 10 HTML / CSS
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
Jan 17 HTML / CSS
CSS3 真的会替代 SCSS 吗
Mar 09 HTML / CSS
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
Mar 14 HTML / CSS
如何使用localstorage代替cookie实现跨域共享数据问题
Apr 18 HTML / CSS
使用phonegap查找联系人的实现方法
Mar 31 HTML / CSS
解决html5中video标签无法播放mp4问题的办法
May 07 HTML / CSS
canvas 阴影和图形变换的示例代码
Jan 02 HTML / CSS
详解基于canvas的视频遮罩插件
Jan 04 HTML / CSS
详解Html5 监听拦截Android返回键方法
Apr 18 HTML / CSS
html+css实现文字折叠特效实例
Jun 02 HTML / CSS
CSS实现隐藏搜索框功能(动画正反向序列)
Jul 21 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常用函数和常见疑难问题解答
2014/03/05 PHP
php获取发送给用户的header信息的方法
2015/03/16 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
MooTools 1.2中的Drag.Move来实现拖放
2009/09/15 Javascript
jquery UI 1.72 之datepicker
2009/12/29 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
2013/05/03 Javascript
一个JavaScript获取元素当前高度的实例
2014/10/29 Javascript
node.js入门实例helloworld详解
2015/12/23 Javascript
ionic 上拉菜单(ActionSheet)实例代码
2016/06/06 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
2017/06/20 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
vue axios数据请求及vue中使用axios的方法
2018/09/10 Javascript
jQuery事件多次绑定与解绑问题实例分析
2019/02/19 jQuery
JavaScript实现背景自动切换小案例
2019/09/27 Javascript
python通过scapy获取局域网所有主机mac地址示例
2014/05/04 Python
Python实现的Google IP 可用性检测脚本
2015/04/23 Python
python基于socket实现网络广播的方法
2015/04/29 Python
python中while循环语句用法简单实例
2015/05/07 Python
利用Python获取操作系统信息实例
2016/09/02 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
2018/02/06 Python
Python2实现的图片文本识别功能详解
2018/07/11 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
经典C++面试题一
2016/11/06 面试题
医科学校毕业生自荐信
2013/11/09 职场文书
毕业生求职信的经典写法
2014/01/31 职场文书
挂科检讨书范文
2014/02/20 职场文书
经典团队口号
2014/06/06 职场文书
毕业生求职信范文
2014/06/29 职场文书
迎七一演讲稿
2014/09/12 职场文书
如何将numpy二维数组中的np.nan值替换为指定的值
2021/05/14 Python
Nginx配置https的实现
2021/11/27 Servers
TypeScript 内置高级类型编程示例
2022/09/23 Javascript