我知道现在可能还早,但我现在很困惑.. 我在 CSS 中设置 rgba 颜色
#body{ color: rgba( 100,100,100,0.3 ) }
当我要求 Javascript 给我这个元素的计算样式时,我得到这个:
window.getComputedStyle(document.body)['color']
//rgba(100, 100, 100, 0.298039)
我期望 rgba(100,100,100,0.3)
。
我的问题:为什么?
这怎么可能?我该如何解决?
最佳答案
rgba()
规范的所有字段似乎都在内部转换为 8 位字节。 0.3
变为 round(0.3 * 255) = 76
。当它被转换回 rgba 格式时,它计算出 76/255 = 0.298039
。因为它没有存储为小数或 float ,所以在此过程中它会失去精度——它无法知道原始设置是什么。
显示的实际外观没有区别,因为渲染时实际使用的是内部 8 位 alpha。
关于javascript - CSS float 与 Javascript float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16413519/