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 box-sizing属性
Apr 17 HTML / CSS
css3实现超炫风车特效
Nov 12 HTML / CSS
基础的CSS3弹性盒Flexbox布局使用实例
Apr 08 HTML / CSS
纯CSS3实现扇形动画菜单(简化版)实例源码
Jan 17 HTML / CSS
CSS3 实现的火焰动画
Dec 07 HTML / CSS
CSS3中的弹性布局em运用入门详解 1em等于多少像素
Feb 08 HTML / CSS
分享一个页面平滑滚动小技巧(推荐)
Oct 23 HTML / CSS
HTML5的结构和语义(5):交互
Oct 17 HTML / CSS
HTML5验证以及日期显示的实现详解
Jul 05 HTML / CSS
HTML5标签大全
Nov 23 HTML / CSS
使用iframe+postMessage实现页面跨域通信的示例代码
Jan 14 HTML / CSS
html,css,javascript是怎样变成页面的
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
MYSQL数据库初学者使用指南
2006/11/16 PHP
解析CI的AJAX分页 另类实现方法
2013/06/27 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
通过修改referer下载文件的方法
2008/05/11 Javascript
JQuery for与each性能比较分析
2013/05/14 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
2013/11/21 Javascript
用javascript读取xml文件读取节点数据
2014/08/12 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
2015/03/10 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
2015/04/16 Javascript
AngularJS学习笔记之基本指令(init、repeat)
2015/06/16 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
2016/07/01 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
jQuery过滤选择器用法示例
2016/09/12 Javascript
AngularJS ng-template寄宿方式用法分析
2016/11/07 Javascript
vue router demo详解
2017/10/13 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
2019/06/18 jQuery
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
浅述python中argsort()函数的实例用法
2017/03/30 Python
python编程羊车门问题代码示例
2017/10/25 Python
python、java等哪一门编程语言适合人工智能?
2017/11/13 Python
python实现树形打印目录结构
2018/03/29 Python
Python使用装饰器模拟用户登陆验证功能示例
2018/08/24 Python
python opencv实现信用卡的数字识别
2020/01/12 Python
Python中import导入不同目录的模块方法详解
2020/02/18 Python
Python yield的用法实例分析
2020/03/06 Python
飞利浦比利时官方网站:Philips比利时
2016/08/24 全球购物
美国最大的船只买卖在线市场:Boat Trader
2018/08/04 全球购物
SheIn沙特阿拉伯:女装在线
2020/03/23 全球购物
会计实习期自我鉴定
2013/10/06 职场文书
总经理助理岗位职责
2013/11/08 职场文书
荷叶母亲教学反思
2014/04/30 职场文书
运动会演讲稿
2014/05/07 职场文书
关于责任的演讲稿
2014/05/20 职场文书
个人担保书范文
2014/05/20 职场文书
党的群众路线教育实践活动个人整改方案
2014/10/25 职场文书
Golang实现AES对称加密的过程详解
2021/05/20 Golang