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

背景色を設定した場合: css で rgba(255, 255, 255, 0); (一部のブラウザーでは) rgba 値の代わりに返されますgetComputedStyle()transparent

これを簡単に修正するには、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 に答える