CSS浮动与Javascript浮动

Her*_*ter 1 javascript css

我知道这可能是早期的,但我现在很困惑..我在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).

我的问题:为什么?

这怎么可能,我该如何解决这个问题?

Bar*_*mar 8

rgba()规范的所有字段似乎都在内部转换为8位字节.0.3成为round(0.3 * 255) = 76.当它转换回rgba格式时,它会计算76/255 = 0.298039.因为它没有存储为十进制或浮点数,所以在此过程中会丢失精度 - 它无法知道原始设置是什么.

显示器的实际外观没有区别,因为内部8位alpha是渲染时实际使用的内容.