Die echte Hintergrundfarbe eines Elements erhalten?

8

Momentan möchte ich die echte Hintergrundfarbe eines bestimmten Objekts erhalten, hier bedeutet real , was die Leute sehen, zum Beispiel mit folgendem Code:

%Vor%

Die echte Hintergrundfarbe von span # bar sollte rbg(255,0,0) sein.

Bisher mache ich es wie das . Aber ich denke, meine Lösung ist etwas dumm, oder vielleicht gibt es einen Defekt darin. Also frage ich mich, ob es einen besseren Weg gibt, das zu tun?

Vielen Dank im Voraus:)

    
Marcus 25.09.2012, 04:10
quelle

5 Antworten

5

Versuchen Sie

window.getComputedStyle(element, null).getPropertyValue("background-color")

Dieser Ansatz ist einfach und nativ. Aber IE8- nicht unterstützen. Siehe Ссылка

    
gock 16.05.2013, 15:21
quelle
7

Versuchen Sie Folgendes:

%Vor%

Ссылка

    
undefined 25.09.2012 04:14
quelle
2

Pure javascript Version:

%Vor%

Ссылка

Beachten Sie, dass partielle Transparenz nicht berücksichtigt wird.

    
Simon Bengtsson 15.01.2017 17:05
quelle
1

Dies ist eine schwierige Sache, um richtig zu kommen :( und ich glaube, ein 100% korrektes Ergebnis in allen Fällen ist unmöglich.

background-color wird nicht vererbt. getComputedStyle gibt nur das zurück, was in elem.style.backgroundColor ist, wenn dort, oder anders, was von den geladenen CSS-Stylesheets abgeleitet ist. Wenn diese beiden Werte immer noch keinen Wert zurückgeben, wird rgba(0, 0, 0, 0) zurückgegeben. In diesem Fall müssen Sie das DOM hochklettern, um zu sehen, welche Elemente die Eltern haben. Und dies ist im Falle von Rahmen, die ihren Hintergrund von dem (dh oberen) Rahmen hinter ihnen ableiten können, noch komplizierter.

Hier ist ein Versuch:

%Vor%

(Ein Problem damit ist, dass jemand, der explizit den Hintergrund eines Elements auf rgba(0, 0, 0, 0) im Stil des Elements oder eines CSS-Stylesheets setzt, diesen Wert anstelle des berechneten Wertes haben möchte, der mit diesem Code nicht funktioniert.)

    
kofifus 07.09.2017 22:10
quelle
-1

Versuchen Sie Folgendes:

%Vor%     
Eli 25.09.2012 04:18
quelle

Tags und Links