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 transform的skew属性值图文详解
Jul 21 HTML / CSS
深入研究HTML5实现图片压缩上传功能
Mar 25 HTML / CSS
探究 canvas 绘图中撤销(undo)功能的实现方式详解
May 17 HTML / CSS
html5定位并在百度地图上显示的示例
Apr 27 HTML / CSS
html5版canvas自由拼图实例
Oct 15 HTML / CSS
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
Oct 20 HTML / CSS
html2canvas生成清晰的图片实现打印的示例代码
Sep 30 HTML / CSS
HTML5 weui使用笔记
Nov 21 HTML / CSS
前端使用canvas生成盲水印的加密解密的实现
Dec 16 HTML / CSS
CSS中em的正确打开方式详解
Apr 08 HTML / CSS
纯CSS实现hover图片pop-out弹出效果的实例代码
Apr 16 HTML / CSS
开发微信小程序之WXSS样式教程
Apr 18 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,ajax实现分页
2008/03/27 PHP
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
2014/08/21 PHP
PHP的引用详解
2015/02/22 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
2017/03/04 PHP
Laravel学习基础之migrate的使用教程
2017/10/11 PHP
PHP实现文件上传后台处理脚本
2020/03/04 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
javascript检查表单数据是否改变的方法
2013/07/30 Javascript
浅析XMLHttpRequest的缓存问题
2013/12/13 Javascript
js弹窗返回值详解(window.open方式)
2014/01/11 Javascript
JavaScript 实现完美兼容多浏览器的复制功能代码
2015/04/28 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
JavaScript Math.round() 方法
2015/12/18 Javascript
jquery实现列表上下移动功能
2016/02/25 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
基于jstree使用AJAX请求获取数据形成树
2017/08/29 Javascript
vue 实现全选全不选的示例代码
2018/03/29 Javascript
JavaScript实现图片懒加载的方法分析
2018/07/05 Javascript
bootstrap下拉分页样式 带跳转页码
2018/12/29 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
[03:39]DOTA2英雄梦之声_第05期_幽鬼
2014/06/23 DOTA
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
Django实现微信小程序支付的示例代码
2020/09/03 Python
pycharm 使用anaconda为默认环境的操作
2021/02/05 Python
Keras保存模型并载入模型继续训练的实现
2021/02/20 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
什么是lambda函数
2013/09/17 面试题
护理毕业生自荐信范文
2013/12/22 职场文书
六十岁生日答谢词
2014/01/10 职场文书
人大调研汇报材料
2014/08/14 职场文书