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心形加载的动画源码的实现
Mar 09 HTML / CSS
css3实现波纹特效、H5实现动态波浪效果
Jan 31 HTML / CSS
CSS3 box-shadow属性实例详解
Jun 19 HTML / CSS
网页中的电话号码如何实现一键直呼效果_附示例
Mar 15 HTML / CSS
HTML5 本地存储实现购物车功能
Sep 07 HTML / CSS
html5应用缓存_动力节点Java学院整理
Jul 13 HTML / CSS
使用html2canvas实现浏览器截图的示例代码
Jan 26 HTML / CSS
关于HTML5你必须知道的28个新特性,新技巧以及新技术
May 28 HTML / CSS
通过Canvas及File API缩放并上传图片完整示例
Aug 08 HTML / CSS
HTML5全屏(Fullscreen)API详细介绍
Apr 24 HTML / CSS
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
Jul 20 HTML / CSS
HTML CSS 一个标签实现带动画的抖音LOGO
Apr 26 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
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
PHP中变量引用与变量销毁机制分析
2014/11/15 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
php二维码生成
2015/10/19 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
快速排序 php与javascript的不同之处
2011/02/22 Javascript
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题
2011/09/28 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
简述JavaScript的正则表达式中test()方法的使用
2015/06/16 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
js实现TAB切换对应不同颜色的代码
2015/08/31 Javascript
javascript中的previousSibling和nextSibling的正确用法
2015/09/16 Javascript
直接拿来用的页面跳转进度条JS实现
2016/01/06 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
vue 使用html2canvas将DOM转化为图片的方法
2018/09/11 Javascript
微信小程序利用Canvas绘制图片和竖排文字详解
2019/06/25 Javascript
Js on及addEventListener原理用法区别解析
2020/07/11 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
微信小程序自定义底部弹出框动画
2020/11/18 Javascript
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
python实现的简单抽奖系统实例
2015/05/22 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
在centos7中分布式部署pyspider
2017/05/03 Python
python 检查是否为中文字符串的方法
2018/12/28 Python
python opencv实现图像边缘检测
2019/04/29 Python
sklearn的predict_proba使用说明
2020/06/28 Python
Python2与Python3关于字符串编码处理的差别总结
2020/09/07 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
CSS3中伪元素::before和::after的用法示例
2017/09/18 HTML / CSS
米兰必去买手店排行榜首位:Antonioli
2016/09/11 全球购物
新娘父亲婚礼致辞
2014/01/16 职场文书
运动会广播稿500字
2014/01/28 职场文书
党建目标管理责任书
2014/07/25 职场文书
2015年大学生入党自荐书
2015/03/24 职场文书
SQL Server2019数据库之简单子查询的具有方法
2021/04/27 SQL Server
Python pyecharts绘制条形图详解
2022/04/02 Python