Ich zeichne ein Diagramm in D3.js, und ich verwende ein <rect>
als das eigentliche Diagrammgebiet (Linien, Diagramme, etc.). Es ist geplant, den Pfad nur so an die <rect>
anzuhängen, dass die Diagrammzone beim Überfahren des Benutzers nicht überläuft. Im Moment sieht es wie folgt aus:D3.js: Pfad an ein Rect anhängen
Aber wenn ich versucht zu tun:
var path = rect.append('path').attr(...)
Der Weg selbst nicht einmal auftauchen. Die ursprüngliche Version ist nur Pfad zu svg anhängen, whic funktioniert:
var path = svg.append('path').attr(...)
ich auch nicht overflow:hidden
wie normale HTML-Elemente tun kann, weil path
nicht im rect
enthalten ist.
Wenn das Anhängen path
an rect
nicht möglich oder empfohlen ist, was ist der beste Weg, den "Aktivitätsbereich" des Pfades zu begrenzen, so dass es keinen Überlauf verursacht?
Wie definieren Sie 'rect'? Ich bin mir auch nicht sicher, ob ein 'rect' Element semantisch' path' Elemente enthalten soll. Gibt es einen bestimmten Grund, warum du 'rect' benutzen musst? Wenn es nur zum Styling ist, macht es vielleicht mehr Sinn, CSS zu verwenden, um etwas zu stylen. – aug
Sie können kein 'path' Element an ein' rect' anhängen, soweit ich weiß. Wenn Sie Elemente gruppieren möchten, sollten Sie ein 'g' (Gruppierung) -Element verwenden. Dies ist praktisch, wenn Sie mehrere Elemente mit dem gleichen Transformationsattribut und ähnlichem haben möchten. – JSBob
@JSBob Gibt es trotzdem ein 'g' Element, das repariert wird? So dass, wenn ich auf dem Diagramm ziehe, nur der "Pfad" verschoben wird? Ich habe versucht, css 'position: absolute' zu verwenden, aber es scheint nicht zu funktionieren. – benjaminz