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 按钮 利用css3实现超酷下载按钮
Mar 18 HTML / CSS
css3实例教程 一款纯css3实现的发光屏幕旋转特效
Dec 07 HTML / CSS
用CSS3打造HTML5的Logo(实现代码)
Jun 16 HTML / CSS
详解CSS3中的box-sizing(content-box与border-box)
Apr 19 HTML / CSS
html5应用缓存_动力节点Java学院整理
Jul 13 HTML / CSS
canvas实现俄罗斯方块的方法示例
Dec 13 HTML / CSS
HTML5 Canvas 破碎重组的视频特效的示例代码
Sep 24 HTML / CSS
HTML5 标准将把互联网视频扔回到黑暗时代
Feb 10 HTML / CSS
如何利用input事件来监听移动端的输入
Apr 15 HTML / CSS
基于canvas的骨骼动画的示例代码
Jun 12 HTML / CSS
清除canvas画布内容(点擦除+线擦除)
Aug 12 HTML / CSS
纯html+css实现打字效果
Aug 02 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 图片上添加透明度渐变的效果
2009/06/29 PHP
PHP微信API接口类
2016/08/22 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
2017/03/28 PHP
js获取通过ajax返回的map型的JSONArray的方法
2014/01/09 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
2015/02/23 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
2019/08/16 Javascript
vue实现抖音时间转盘
2019/09/08 Javascript
[03:02]2014DOTA2西雅图邀请赛 让队员自己告诉你DK NAVI备战情况
2014/07/08 DOTA
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
Python 网络编程起步(Socket发送消息)
2008/09/06 Python
Python开发实例分享bt种子爬虫程序和种子解析
2014/05/21 Python
python中assert用法实例分析
2015/04/30 Python
全面了解python中的类,对象,方法,属性
2016/09/11 Python
Python 基础教程之str和repr的详解
2017/08/20 Python
详解python单元测试框架unittest
2018/07/02 Python
python按键按住不放持续响应的实例代码
2019/07/17 Python
将python文件打包exe独立运行程序方法详解
2020/02/12 Python
Django之腾讯云短信的实现
2020/06/12 Python
python如何进入交互模式
2020/07/06 Python
sublime3之内网安装python插件Anaconda的流程
2020/11/10 Python
css3实现3D文本悬停改变效果的示例代码
2019/01/16 HTML / CSS
波兰家居饰品和厨房配件网上商店:Maleomi
2020/12/15 全球购物
办理退休介绍信
2014/01/09 职场文书
2015年幼儿园毕业感言
2014/02/12 职场文书
优良学风班申请材料
2014/02/13 职场文书
中学校庆方案
2014/03/17 职场文书
小学领导班子对照材料
2014/08/23 职场文书
“向国旗敬礼”活动策划方案(4篇)
2014/09/27 职场文书
2015年度信用社工作总结
2015/05/04 职场文书
个人催款函范文
2015/06/24 职场文书
pytorch实现线性回归以及多元回归
2021/04/11 Python
Jupyter notebook 更改文件打开的默认路径操作
2021/05/21 Python
python 实现体质指数BMI计算
2021/05/26 Python
Javascript的promise,async和await的区别详解
2022/03/24 Javascript