Ich benutze d3 v4. Ich habe ein Liniendiagramm, in dem ich über mein Diagramm rollen kann und eine kleine Info-Box erscheint - https://jsfiddle.net/rgw12x8d/18/. Zur Zeit der Hintergrund der Info-Box ist gelb, die ich wie soWie lege ich die Hintergrundklasse meines d3 SVG rect fest?
var rect = focus.append("rect")
.attr("x", 9)
.attr("dy", ".35em")
.attr("fill", "yellow");
gesetzt Aber lassen Sie uns sagen, dass ich den Hintergrund wollen eine Klasse sein, und zwar eine Klasse habe ich erstellt, die einen Gradienten als Hintergrund hat .. .
.infoBoxBg {
background: #4c4c4c; /* Old browsers */
background: -moz-linear-gradient(top, #4c4c4c 0%, #595959 12%, #666666 25%, #474747 39%, #2c2c2c 50%, #000000 51%, #111111 60%, #2b2b2b 76%, #1c1c1c 91%, #131313 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, #4c4c4c 0%,#595959 12%,#666666 25%,#474747 39%,#2c2c2c 50%,#000000 51%,#111111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, #4c4c4c 0%,#595959 12%,#666666 25%,#474747 39%,#2c2c2c 50%,#000000 51%,#111111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#4c4c4c', endColorstr='#131313',GradientType=0); /* IE6-9 */
}
Wie kann ich richtig den Hintergrund meiner Info-Box andere als die Füllfarbe einstellen?
SVG-Elemente sind nicht HTML-Elemente. Selbst wenn Sie die Klasse des Rechtecks auf 'infoBoxBg' setzen, wird dieses CSS einfach nicht funktionieren. –
Sagst du, was ich tun möchte, ist unmöglich? – Dave
Nein. Was ich sage ist, dass das von Ihnen freigegebene CSS für HTML-Elemente funktioniert, aber für SVG-Elemente nutzlos ist. Sehen Sie sich die [Antwort unten] an (https://stackoverflow.com/a/46080081/5768908). –