【发布时间】:2012-11-25 02:57:51
【问题描述】:
在我尝试过的大多数浏览器中,一旦浏览器解析 CSS,rgba() 的值似乎就会改变。
例如,下面的 CSS:
background-color: rgba(255, 0, 0, 0.5);
通过jQuery.css('background-color') 或本机CSSStyleDeclaration.getPropertyValue('background-color') 访问时提供以下CSS 值:
rgba(255, 0, 0, 0.498039)
这里是a fiddle,还有更多示例。
Chrome 和 Safari 给出不同的结果。 Firefox 似乎是唯一报告输入的确切值的浏览器。这是一个错误还是设计使然?
【问题讨论】:
-
我猜测它与浮点数以及计算机处理数字的一般方式有关。
-
听起来像是开发 Web 应用程序的任意世界的例证...... :)
-
这些值似乎足够不同(例如 0.01 -> 0.00784314),浮点精度似乎不是罪魁祸首。我想知道是否正在进行任何基于颜色配置文件的调整。
-
“rgba”中的“a”只是一个 8 位值。 127/255 是最接近 0.5 的值,它等于 0.498039
-
啊,谢谢@MarkHubbart,这很有道理! Safari 返回 0.496094 (127/256)。其中一个肯定是错误。
标签: javascript jquery css dom