只使用CSS是否可能在值改变时动画地更改仪表/进度标记的可视化效果?
类似于这样的效果:
-webkit-transition: all 1s linear;
或者
-webkit-transition: meter-value 1s linear;
是的,这完全有可能,因为WebKit使用Shadow DOM来实现计量元素,而不是使用默认系统元素(这样计量器和进度条可以被样式化)。你可以将其视为计量元素内部的隐藏内容:
<div pseudo="-webkit-meter-inner-element">
<div pseudo="-webkit-meter-bar">
<div pseudo="-webkit-meter-optimum-value" style="width: 46%;"></div>
</div>
</div>
当您更改计量器的值时,WebKit将更改最后一个div的宽度。因此使用:
meter::-webkit-meter-optimum-value, meter::-webkit-meter-suboptimum-value, meter::-webkit-meter-even-less-good-value {
transition: 1s width;
}
您可以为您的计量表添加动画效果。