我知道这可能是早期的,但我现在很困惑..我在CSS中设置一个rgba颜色
#body{ color: rgba( 100,100,100,0.3 ) }
Run Code Online (Sandbox Code Playgroud)
当我要求Javascript给我这个元素的计算样式时,我得到了这个:
window.getComputedStyle(document.body)['color']
//rgba(100, 100, 100, 0.298039)
Run Code Online (Sandbox Code Playgroud)
在我期待的地方rgba(100,100,100,0.3).
我的问题:为什么?
这怎么可能,我该如何解决这个问题?
rgba()规范的所有字段似乎都在内部转换为8位字节.0.3成为round(0.3 * 255) = 76.当它转换回rgba格式时,它会计算76/255 = 0.298039.因为它没有存储为十进制或浮点数,所以在此过程中会丢失精度 - 它无法知道原始设置是什么.
显示器的实际外观没有区别,因为内部8位alpha是渲染时实际使用的内容.