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 相关文章推荐
收集的7个CSS3代码生成工具
Apr 17 HTML / CSS
CSS3属性box-sizing使用指南
Dec 09 HTML / CSS
基于CSS3实现立方体自转效果
Mar 01 HTML / CSS
纯CSS3实现扇形动画菜单(简化版)实例源码
Jan 17 HTML / CSS
css3加js做一个简单的3D行星运转效果实例代码
Jan 18 HTML / CSS
浅谈CSS3中的变形功能-transform功能
Dec 27 HTML / CSS
HTML5仿手机微信聊天界面
Mar 18 HTML / CSS
你可能不熟练的十个前端HTML5经典面试题
Jul 03 HTML / CSS
HTML5 Video标签的属性、方法和事件汇总介绍
Apr 24 HTML / CSS
基于HTML5+tracking.js实现刷脸支付功能
Apr 16 HTML / CSS
Canvas获取视频第一帧缩略图的实现
Nov 11 HTML / CSS
使用CSS自定义属性实现骨架屏效果
Jun 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实现弹出消息提示框的两种方法
2013/12/17 PHP
PHP验证终端类型是否为手机的简单实例
2017/02/07 PHP
php中实现字符串翻转的方法
2017/02/22 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
实例代码讲解jquery easyui动态tab页
2015/11/17 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
详解Javascript百度地图接口开发文档中的类和方法
2017/02/07 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
AngularJS中ng-class用法实例分析
2017/07/06 Javascript
vue获取dom元素注意事项
2017/12/28 Javascript
Angular @HostBinding()和@HostListener()用法
2018/03/05 Javascript
vue单页开发父子组件传值思路详解
2018/05/18 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
浅谈使用nodejs搭建web服务器的过程
2020/07/20 NodeJs
从局部变量和全局变量开始全面解析Python中变量的作用域
2016/06/16 Python
python3+PyQt5使用数据库表视图
2018/04/24 Python
利用python修改json文件的value方法
2018/12/31 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
pycharm创建scrapy项目教程及遇到的坑解析
2019/08/15 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
2019/12/09 Python
python计算Content-MD5并获取文件的Content-MD5值方式
2020/04/03 Python
python多进程 主进程和子进程间共享和不共享全局变量实例
2020/04/25 Python
Django配置Bootstrap, js实现过程详解
2020/10/13 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
大专会计自我鉴定
2014/02/06 职场文书
爱心倡议书范文
2014/05/12 职场文书
查摆问题自我剖析材料
2014/08/18 职场文书
员工试用期自我评价
2014/09/18 职场文书
2015年营销工作总结范文
2015/04/23 职场文书
感恩的心主题班会
2015/08/12 职场文书
岗位聘任协议书
2015/09/21 职场文书
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
2021/03/29 PHP