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折叠效果(3D效果)整理
Dec 30 HTML / CSS
css3的图形3d翻转效果应用示例
Apr 08 HTML / CSS
CSS3中线性颜色渐变的一些实现方法
Jul 14 HTML / CSS
HTML5中使用postMessage实现Ajax跨域请求的方法
Apr 19 HTML / CSS
免费获得微软MCSD证书赶快行动吧!
Nov 13 HTML / CSS
利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
Jan 23 HTML / CSS
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
Apr 24 HTML / CSS
巧用HTML5给按钮背景设计不同的动画简单实例
Aug 09 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
Oct 23 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
Aug 23 HTML / CSS
在html页面中取得session中的值的方法
Aug 11 HTML / CSS
HTML基础详解(下)
Oct 16 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
DOMXML函数笔记
2006/10/09 PHP
PHP访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
php操作xml入门之xml基本介绍及xml标签元素
2015/01/23 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
2020/04/06 PHP
改进:论坛UBB代码自动插入方式
2006/12/22 Javascript
用Javascript实现锚点(Anchor)间平滑跳转
2009/09/08 Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
2014/08/24 Javascript
JavaScript设计模式之外观模式实例
2014/10/10 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
深入分析Javascript跨域问题
2015/04/17 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
ionic 上拉菜单(ActionSheet)实例代码
2016/06/06 Javascript
JavaScript类的写法
2016/09/17 Javascript
深入理解jquery中的each用法
2016/12/14 Javascript
jQuery基于Ajax方式提交表单功能示例
2017/02/10 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
JavaScript实现的搜索及高亮显示功能示例
2017/08/14 Javascript
JavaScript循环遍历你会用哪些之小结篇
2018/09/28 Javascript
js中null与空字符串&quot;&quot;的区别讲解
2019/01/17 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
记一次vue跨域的解决
2020/10/21 Javascript
python实现的登录和操作开心网脚本分享
2014/07/09 Python
python中range()与xrange()用法分析
2016/09/21 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
Kendra Scott官网:美国领先的时尚配饰品牌
2020/10/22 全球购物
群胜软件Java笔试题
2012/09/29 面试题
编写用C语言实现的求n阶阶乘问题的递归算法
2014/10/21 面试题
五年级英语教学反思
2014/01/31 职场文书
会计电算化专业求职信
2014/06/10 职场文书
民主评议政风行风整改方案
2014/09/17 职场文书
在职人员跳槽求职信
2015/03/20 职场文书
二审答辩状格式
2015/05/22 职场文书
Django对接elasticsearch实现全文检索的示例代码
2021/08/02 Python