getComputedStyle给出“透明”而不是实际的背景颜色

时间:2014-04-05 03:39:05

标签: javascript html css background-color getcomputedstyle

这是一个惊喜。以下代码似乎没有给我屏幕上的实际颜色:

h1 = document.querySelector("h1");
window.getComputedStyle(h1).color

给出我认为正确的rgb(0, 0, 0)。然而

window.getComputedStyle(h1).backgroundColor

给出rgba(0, 0, 0, 0)。我在屏幕上看到的实际背景颜色是白色。

我称之为h1的元素在屏幕上可见。我期待得到实际的背景颜色。我得到的值(在rgba中)没有错,但也不是很有用。它只是告诉我背景是完全透明的 - 这不是一种颜色。

如何获得RGB的实际背景颜色?

2 个答案:

答案 0 :(得分:6)

如果您在css中设置背景颜色:rgba(255,255,255,var listofints = x.GetList(typeof(decimal), "test").Cast<int>().ToList(); ); 0将返回getComputedStyle()(在某些浏览器中),而不是您的rgba值。

轻松解决此问题的方法是将alpha设置为高于0的值 rgba(255,255,255,transparent);这将返回rgba(255,255,255,0.01

答案 1 :(得分:1)

getComputedStyle(h1)在活动样式表中应用后提供元素的css值。

这意味着您可以获得仅以任何方式应用于特定元素的那些css值。

例如: - 如果您为h1 :RGB{255, 255, 255},应用背景,那么您将获得rgb格式的背景颜色白色,否则不会。它没有为html的默认样式提供价值。

要按getComputedStyle()获取值,首先应将此值应用于元素。

了解更多信息getComputedStyle()