根据 w3c 的定义,progress元素代表任务的完成度。一个progress元素标签有开始标签和结束标签。
除了通用的全局属性外,它还拥有两个自己的属性
一个进度条有两种状态:不确定和已确定
Google Chrome, Apple Safari , Opera 浏览器都是webkit内核,设置progress element 元素样式基于 -webkit-appearance: progress-bar
设置progress默认样式,一般简单的设置为 -webkit-appearance: none
对 -webkit-progress-value 属性的背景增加动画
对 -webkit-progress-value 选择器使用动画
使用::before 和 ::after 可以在progress元素上展示进度条的百分比或者准确的数字。
原文地址: https://css-tricks.com/html5-progress-element/
进度条效果做为网站常用模块无论是投资理财类、还是众筹类、加载提示类网站已经比较常见。另外,HTML5新增了 progress 标签,其重要程度可见一斑。
由于HTML的 progress 存在兼容性问题,本文主要讲解如何通过CSS实现一个简单的自定义进度条效果!
前端开发常用的进度条效果如下:
(环形进度条下次再讲!)
这两个算是比较有代表性的,一个的均匀的一个的不均匀的,实现起来略有不用。
以第一个为例:
这种比较简单,只需要两个 div 标签就可以了(一个标签也可以实现,后文会讲到)
原理介绍:
外层 div 用来显示进度条总长度以及背景色;内层div用来显示当前进度条进度,和当前进度条颜色。
结构如下:
样式如下:
此时效果如下:
只需要利用 js 动态控制上层 div 的宽度就可以实现最简单的自定义进度条了.
** 第二种带原点的进度条 **
此时实现原理跟第一种类似,只是背景色替换成了背景图片,图片如下:
这两个图片除了颜色不一样以外其他是一样大小的!
如果上面的能理解我想这个就不难理解了吧,不过为了显得文章完整还是简单做一个demo如下:
效果如下: