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