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代码绘制可爱的Hello Kitty猫
Aug 03 HTML / CSS
CSS3 @font-face属性使用指南
Dec 12 HTML / CSS
CSS3中的opacity属性使用教程
Aug 19 HTML / CSS
纯css3实现宠物小鸡实例代码
Oct 08 HTML / CSS
CSS3 transition 实现通知消息轮播条
Oct 14 HTML / CSS
CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码
Feb 24 HTML / CSS
基于canvas的骨骼动画的示例代码
Jun 12 HTML / CSS
使用iframe+postMessage实现页面跨域通信的示例代码
Jan 14 HTML / CSS
AmazeUI框架搭建的方法步骤(图文)
Aug 17 HTML / CSS
HTML页面中使两个div并排显示的实现
May 15 HTML / CSS
纯CSS实现一个简单步骤条的示例代码
Jul 15 HTML / CSS
VW、VH适配移动端的解决方案与常见问题
May 21 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 strcmp使用说明
2010/04/22 PHP
PHP 截取字符串专题集合
2010/08/19 PHP
有关php运算符的知识大全
2011/11/03 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
PHP读取mssql json数据中文乱码的解决办法
2016/04/11 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
2016/06/28 PHP
php表单处理操作
2017/11/16 PHP
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
2012/04/12 Javascript
js关闭模态窗口刷新父页面或跳转页面
2012/12/13 Javascript
Extjs4中的分页应用结合前后台
2013/12/13 Javascript
jQuery插件dataTables添加序号列的方法
2016/07/06 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
2016/12/17 Javascript
JS常用知识点整理
2017/01/21 Javascript
Spring Boot+AngularJS+BootStrap实现进度条示例代码
2017/03/02 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
2017/04/13 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
JavaScript中callee和caller的区别与用法实例分析
2019/06/28 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
2019/12/02 Javascript
VUE+elementui组件在table-cell单元格中绘制微型echarts图
2020/04/20 Javascript
JavaScript实现alert弹框效果
2020/11/19 Javascript
微信小程序canvas实现签名功能
2021/01/19 Javascript
跟老齐学Python之使用Python查询更新数据库
2014/11/25 Python
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
python中append实例用法总结
2019/07/30 Python
使用turtle绘制五角星、分形树
2019/10/06 Python
Django返回HTML文件的实现方法
2020/09/17 Python
Flask-SocketIO服务端安装及使用代码示例
2020/11/26 Python
在HTML5 Canvas中放入图片和保存为图片的方法
2014/05/03 HTML / CSS
大学生职业生涯规划书范文
2014/01/14 职场文书
教师工作能力自我评价
2015/03/04 职场文书
青年联谊会致辞
2015/07/31 职场文书
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python
SQL Server使用导出向导功能
2022/04/08 SQL Server
Win2008系统搭建DHCP服务器
2022/06/25 Servers