首先我们先来认识下html5 progress标签的简介:
progress是HTML5的一个新元素,表示定义一个进度条,用途很广泛,可以用在文件上传的进度显示,文件下载的进度显示,也可以作为一种loading的加载状态条使用。
提示:请结合<progress>标签与javaScript一同使用,来显示任务的进度。
注释:<progress>标签不适合用来表示度量衡(例如,磁盘空间使用情况或查询结果)。如需表示度量衡,请使用<meter>标签代替。
html5 progress进度条语法:
<progress value='70' max='100'></progress>
我们来准备个html5 progress标签的实例:
<html><head><meta charset="utf-8"><title>PHP中文网</title><style type="text/css">progress{ width: 168px; height: 5px;}progress::-webkit-progress-bar{ background-color:#d7d7d7;}progress::-webkit-progress-value{ background-color:orange;}</style></head><body><progress value="100" max="100" class="hot"></body></html>解释下,在Chrome浏览器中progress是以如下结构渲染的
progress
:-webkit-progress-bar 全部进度
:-webkit-progress-value 已完成进度
通过这两个伪元素为其添加样式。
但在别的浏览器中又有所不同,如IE10,这两个伪元素不起作用,直接用color样式可以修改已完成进度的颜色,而全部进度为background
FireFox中progress-bar为已完成进度,background为全部进度,而Opera中对这个样式只能为浏览器默认样式。
因此兼容性写法可以考虑如下:
progress{ color:orange; /*兼容IE10的已完成进度背景*/ border:none; background:#d7d7d7;/*这个属性也可当作Chrome的已完成进度背景,只不过被下面的::progress-bar覆盖了*/ }progress::-webkit-progress-bar{ background:#d7d7d7;}progress::-webkit-progress-value,progress::-moz-progress-bar{ background:orange;}









