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和jquery实现自定义checkbox和radiobox组件
Apr 22 HTML / CSS
css3实现超炫风车特效
Nov 12 HTML / CSS
CSS3模拟IOS滑动开关效果
Sep 28 HTML / CSS
使用CSS3实现SVG路径描边动画效果入门教程
Oct 21 HTML / CSS
详解CSS3新增的背景属性
Dec 25 HTML / CSS
css3实现简单的白云飘动背景特效
Oct 28 HTML / CSS
HTML5新增的Css选择器、伪类介绍
Aug 07 HTML / CSS
HTML5全屏(Fullscreen)API详细介绍
Apr 24 HTML / CSS
Html5+JS实现手机摇一摇功能
Apr 24 HTML / CSS
用CSS3画一个爱心
Apr 27 HTML / CSS
background-position百分比原理详解
May 08 HTML / CSS
CSS 制作波浪效果的思路
May 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
oracle资料库函式库
2006/10/09 PHP
Windows中安装Apache2和PHP4权威指南
2006/11/18 PHP
windows下开发并编译PHP扩展的方法
2011/03/18 PHP
PHP调用VC编写的COM组件实例
2014/03/29 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
JS定义回车事件(实现代码)
2013/07/08 Javascript
javascript 闭包详解
2015/02/15 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
javascript中对Date类型的常用操作小结
2016/05/19 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
2019/02/17 Javascript
解决layui弹框失效的问题
2019/09/09 Javascript
Node.js实现批量下载图片简单操作示例
2020/01/18 Javascript
Vue-cli打包后部署到子目录下的路径问题说明
2020/09/02 Javascript
jQuery插件实现图片轮播效果
2020/10/19 jQuery
js定时器出现第一次延迟的原因及解决方法
2021/01/04 Javascript
Python程序员鲜为人知但你应该知道的17个问题
2014/06/04 Python
Python中SOAP项目的介绍及其在web开发中的应用
2015/04/14 Python
python计算方程式根的方法
2015/05/07 Python
通过Python 接口使用OpenCV的方法
2018/04/02 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
Python简单爬虫导出CSV文件的实例讲解
2018/07/06 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
2018/07/19 Python
python程序快速缩进多行代码方法总结
2019/06/23 Python
Python DataFrame一列拆成多列以及一行拆成多行
2019/08/06 Python
pymysql的简单封装代码实例
2020/01/08 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
Python多线程thread及模块使用实例
2020/04/28 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
使用Canvas操作像素的方法
2018/06/14 HTML / CSS
html5记忆翻牌游戏实现思路及代码
2013/07/25 HTML / CSS
民政局未婚证明
2015/06/15 职场文书
行政复议答复书
2015/07/01 职场文书
MySQL sql_mode修改不生效的原因及解决
2021/05/07 MySQL
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电