任何方式来确定透明背景颜色CSS

时间:2013-03-30 17:52:35

标签: javascript background-color

这里有很多关于在javascript中确定背景颜色的文章,但是我没有看到这个问题:我说我有一个空文档,没有别的,没有风格。两个元素的getcomputedstyle,背景颜色是“透明的”。但那是什么颜色的?用户选择的默认值,通常是白色,但可以是任何内容。所以没有办法找出那是什么?似乎是DOM中的一个缺陷。

2 个答案:

答案 0 :(得分:2)

查看tricks this guy used. Essientally获取真彩色的唯一方法是继续处理父元素,直到找到提供颜色定义的元素。

  

上面的方法在调用时会返回'transparent'   具有ID someid的元素,但有两个例外:

     

Safari将返回“rgba(0,0,0,0)”,这意味着透明,   因为第四个值代表不透明度为0. Konqueror   3.5将返回“#000000”,这是黑色的,同时也是Konqueror的已知错误。我试过使用getPropertyCSSValue,但是   那个人完全被塞了......

     

现在,如果你想检索一个“真正的”背景颜色   元素,您必须以递归方式向上移动层次结构,直到找到   一个没有透明背景的元素。你必须   然后停在document.body并假设白色作为背景颜色。

答案 1 :(得分:0)

透明色是rgba(0,0,0,0)。它是任何具有A = 0的RGB,即Alpha必须设置为0。