6

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

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

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

window.getComputedStyle(h1).backgroundColor

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

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

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

4

2 回答 2

6

如果您0在 css 中设置了 background-color: rgba(255, 255, 255, ); getComputedStyle()将返回transparent(在某些浏览器中)而不是您的 rgba 值。

对此的简单解决方法是将 alpha 设置为高于 0 的值,例如 rgba(255, 255, 255, 0.01); 这将返回 rgba(255, 255, 255, 0.01)

于 2016-08-11T20:22:28.587 回答
1

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

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

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

要通过 获取值getComputedStyle(),首先您应该将其应用于元素。

获取更多信息getComputedStyle()

于 2014-04-05T03:59:56.330 回答