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实现的tab选项卡的实列教程
Dec 11 HTML / CSS
CSS3实现酷炫的3D旋转透视效果
Nov 21 HTML / CSS
HTML5仿手机微信聊天界面
Mar 18 HTML / CSS
Html5之svg可缩放矢量图形_动力节点Java学院整理
Jul 17 HTML / CSS
HTML5在canvas中绘制复杂形状附效果截图
Jun 23 HTML / CSS
HTML5头部标签的一些常用信息小结
Oct 23 HTML / CSS
详解HTML5 data-* 自定义属性
Jan 24 HTML / CSS
html5中audio支持音频格式的解决方法
Aug 24 HTML / CSS
可能这些是你想要的H5软键盘兼容方案(小结)
Apr 23 HTML / CSS
使用canvas生成含有微信头像的邀请海报没有微信头像问题
Oct 29 HTML / CSS
前端使用canvas生成盲水印的加密解密的实现
Dec 16 HTML / CSS
用CSS3画一个爱心
Apr 27 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 CodeIgniter框架的工作原理研究
2015/03/30 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
PJBlog插件 防刷新的在线播放器
2006/10/25 Javascript
Jquery下:nth-child(an+b)的使用注意
2011/05/28 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
angular2倒计时组件使用详解
2017/01/12 Javascript
JSONP基础知识详解
2017/03/19 Javascript
vue 使某个组件不被 keep-alive 缓存的方法
2018/09/21 Javascript
ztree加载完成后显示勾选节点的实现代码
2018/10/22 Javascript
跨域请求两种方法 jsonp和cors的实现
2018/11/11 Javascript
vue组件系列之TagsInput详解
2020/05/14 Javascript
Vue中添加滚动事件设置的方法详解
2020/09/14 Javascript
Python基于动态规划算法计算单词距离
2015/07/25 Python
Python实现压缩与解压gzip大文件的方法
2016/09/18 Python
Python中几种导入模块的方式总结
2017/04/27 Python
Django视图和URL配置详解
2018/01/31 Python
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
python实现简单http服务器功能
2018/09/17 Python
python生成以及打开json、csv和txt文件的实例
2018/11/16 Python
详解pyenv下使用python matplotlib模块的问题解决
2018/11/29 Python
python http基本验证方法
2018/12/26 Python
python 字符串追加实例
2019/07/20 Python
Python (Win)readline和tab补全的安装方法
2019/08/27 Python
详解Python 中sys.stdin.readline()的用法
2019/09/12 Python
过滤器的用法
2013/10/08 面试题
面试后的感谢信范文
2014/02/01 职场文书
党支部综合考察材料
2014/05/19 职场文书
2014年环卫工作总结
2014/11/22 职场文书
学校通报表扬范文
2015/05/04 职场文书
Python控制台输出俄罗斯方块的方法实例
2021/04/17 Python
OpenCV绘制圆端矩形的示例代码
2021/08/30 Python