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 相关文章推荐
纯CSS实现颜色渐变效果(包含环形渐变、线性渐变、彩虹效果等)
May 07 HTML / CSS
举例详解CSS3中的Transition
Jul 15 HTML / CSS
CSS3区域模块region相关编写示例
Aug 28 HTML / CSS
谈谈对css属性box-sizing的了解
Jan 04 HTML / CSS
css和css3弹性盒模型实现元素宽度(高度)自适应
May 15 HTML / CSS
深入研究HTML5实现图片压缩上传功能
Mar 25 HTML / CSS
使用canvas绘制贝塞尔曲线
Dec 17 HTML / CSS
移动端HTML5实现文件上传功能【附代码】
Mar 25 HTML / CSS
血轮眼轮回眼特效 html+css
Mar 31 HTML / CSS
使用Html+Css实现简易导航栏功能(导航栏遇到鼠标切换背景颜色)
Apr 07 HTML / CSS
position:sticky 粘性定位的几种巧妙应用详解
Apr 24 HTML / CSS
HTML+CSS 实现顶部导航栏菜单制作
Jun 03 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数组内存耗用太多问题的解决方法
2010/04/05 PHP
php 求质素(素数) 的实现代码
2011/04/12 PHP
php计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
解决3.01版的jquery.form.js中文乱码问题的解决方法
2012/03/08 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
2013/12/06 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
jQuery+PHP星级评分实现方法
2015/10/02 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
2016/02/14 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
使用vue实现grid-layout功能实例代码
2018/01/05 Javascript
JavaScript 2018 中即将迎来的新功能
2018/09/21 Javascript
JS数组求和的常用方法总结【5种方法】
2019/01/14 Javascript
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
弱类型语言javascript中 a,b 的运算实例小结
2019/08/07 Javascript
微信小程序制作扭蛋机代码实例
2019/09/24 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
python实现人脸识别代码
2017/11/08 Python
浅谈python装饰器探究与参数的领取
2017/12/01 Python
Python 实现12306登录功能实例代码
2018/02/09 Python
Python从Excel中读取日期一列的方法
2018/11/28 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
Python minidom模块用法示例【DOM写入和解析XML】
2019/03/25 Python
PyCharm2019.3永久激活破解详细图文教程,亲测可用(不定期更新)
2020/10/29 Python
英国高端食品和葡萄酒超市:Waitrose
2016/08/23 全球购物
德国婴儿推车和儿童安全座椅商店:BABYSHOP
2016/09/01 全球购物
汽车维修专业个人求职信范文
2014/01/01 职场文书
安全在我心中演讲稿
2014/09/01 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
2014年图书管理员工作总结
2014/12/01 职场文书
求职信范文怎么写
2015/03/19 职场文书
初中团支书竞选稿
2015/11/21 职场文书