这个答案假设我们知道进度条的最大值.我将使用以下标记:
我们的进度条最大值为100,值为100,表示它处于完成状态.由此我们可以使用[att=val] selector将其定位到完成状态:
progress[value="100"] { ... }
Chris Coyier有一个article on CSS Tricks,解释了如何在Chrome,Firefox和IE10中设置progress元素.在此之后,我们可以将样式应用于完成的进度条.首先我们重置样式:
progress[value="100"] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
然后我们可以专门将样式应用于:: – webkit-progress-value和:: – moz-progress-bar来定位Chrome和Firefox上的前台进度条.为此,我设置了#f00(红色)的背景颜色:
/* Chrome */
progress[value="100"]::-webkit-progress-value {
background:#f00;
}
/* Firefox */
progress[value="100"]::-moz-progress-bar {
background:#f00;
}
最后,我们可以通过在主选择器上添加颜色属性来添加IE10样式:
progress[value="100"] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
/* IE10 */
color:#f00;
}
这是一个JSFiddle demo,展示了两个进度条 – 第一个是50%,第二个是100%.对于懒惰,这是Chrome,Firefox和IE10的结果: