我目前正在尝试在所有主流浏览器中设置<meter>
标记:IE7-9,FF,Chrome,Safari甚至Opera。我已设法使用以下CSS代码删除默认的<meter>
样式:
meter::-webkit-meter-bar, meter::-webkit-meter-optimum-value, meter::-webkit-meter-suboptimum-value, meter::-webkit-meter-even-less-good-value {
background: 0;
}
这种技术在所有提到的浏览器中都能正常工作,除了Opera!它会一直显示默认的绿色表。关于如何“转发”Opera中<meter>
标签的任何想法?
答案 0 :(得分:3)
目前还没有办法在Opera中设置这样的元素。有一个名为Component Object Model的提案,它倾向于允许我们在工作草案中进行这样的样式,但我们并不接近一个。
Webkit已经实现了一种方法,该方法不是任何标准,只是一个建议,我不认为这是将来的方式。这些伪元素名称很可能会改变。
答案 1 :(得分:0)
开始之前:不应该是background: transparent;
或background: inherit;
吗?请参阅background property in HTML Dog。
我认为你是误会。 meter::-webkit-meter-bar
选择器对IE,FF和Opera完全没有影响,因为-webkit
部分是Webkit的选择器。 Chrome和Safari使用Webkit作为渲染引擎,但FF使用Gecko,Opera使用Presto等。
对于FF,你可能需要像-moz-meter-bar
......这样的东西
对于Opera我不知道。 This Opera community page似乎暗示前缀为-o
而不是-webkit
或-moz
。
祝你好运。
添加此类规则时,包含“普通”选择器也是一种很好的做法 (如果你很幸运,这可能会让它在Opera中运作。)
meter::-webkit-meter-bar,
meter::-webkit-meter-optimum-value,
meter::-webkit-meter-suboptimum-value,
meter::-webkit-meter-even-less-good-value,
meter::meter-bar,
meter::meter-optimum-value,
meter::meter-suboptimum-value,
meter::meter-even-less-good-value {
background: transparent;
}