Chrome getComputedStyle()返回错误的RGBA颜色?

时间:2012-06-29 23:30:48

标签: javascript css google-chrome rgba

  1. 我在Chrome中设置了rgba()bg-color(Win7,19.0.1084.56)
  2. 我使用window.getComputedStyle()和&获得背景颜色。 不同
  3. 我将检索到的值设置为新元素
  4. 我再次检索它,又一次
  5. 这是一个小提琴:http://jsfiddle.net/zupa/KsuMp/

    在我的情况下,前4个块在Chrome中具有以下内容:

    • bg-color:rgba(255,0,0,0.503906)
    • bg-color:rgba(255,0,0,0.5)
    • bg-color:rgba(255,0,0,0.496094)
    • bg-color:rgba(255,0,0,0.496094)

    在Firefox中,我得到常量rgba(255,0,0,0.506)

    所以,这似乎是一个错误。你能证明我错了或建议解决方法吗?我需要一个所见即所得编辑器的颜色,这就是我的单元测试。

2 个答案:

答案 0 :(得分:0)

作为解决方法,您可以尝试将原始RGBA颜色存储在元素的data- *属性(可能是data-original-background?)中,并使用$().attr()从中获取旧的颜色值那里。这样,即使Chrome会以一种奇怪的方式进行舍入,它至少会以相同的方式对每一个进行舍入,因为它们都使用相同的基值。

编辑:这是我用这个概念修改过的小提琴之一 http://jsfiddle.net/aJfPn/1/

答案 1 :(得分:-1)

在大学里,我了解到,由于四舍五入的错误,你永远不应该测试浮标是否相等。只需在测试中加入一个公差。