HTML
<progress max="100" value="80" data-value="5"></progress>
CSS
progress { margin: 50px; width:250px; border:0; }
CSS(尝试 1)
progress:before, progress:after { content: attr(data-value); }
CSS(尝试 2)
progress::-webkit-progress-bar:before,
progress::-webkit-progress-bar:after { content: attr(data-value); }
progress::-moz-progress-bar:before,
progress::-moz-progress-bar:after { content: attr(data-value); }
CSS(尝试 3)
progress::-webkit-progress-value:before,
progress::-webkit-progress-value:after { content: attr(data-value); }
progress::-moz-progress-value:before,
progress::-moz-progress-value:after { content: attr(data-value); }
以上尝试均未成功。还尝试了具有不同 CSS 代码块的上述每个版本,for:before
和:after
.
客观的
在 HTML5<progress>
元素之前和之后注入 CSS 生成的内容。这可能吗?
JsFiddle 演示
http://jsfiddle.net/pankajparashar/MNL2C/
更新
当我使用以下 CSS 时,它可以工作。
progress::-webkit-progress-bar:before,
progress::-webkit-progress-bar:after { content: '123'; }
结论
显然,当我们在 CSS 中注入静态内容时,它会起作用。但如果我们使用其中的内容,data-*
则不会。