Ho una serie di rettangoli svg (usando D3.js) e voglio visualizzare un messaggio al passaggio del mouse, il messaggio dovrebbe essere circondato da una casella che funge da sfondo. Dovrebbero essere entrambi perfettamente allineati tra loro e con il rettangolo (in alto e al centro). Qual è il modo migliore per farlo?
Ho provato ad aggiungere un testo in formato svg utilizzando gli attributi "x", "y", "larghezza" e "altezza", quindi anteponendo un rect in formato svg. Il problema è che il punto di riferimento per il testo è nel mezzo (poiché lo voglio allineato al centro l'ho usato text-anchor: middle
), ma per il rettangolo è la coordinata in alto a sinistra, in più volevo un po 'di margine attorno al testo che lo rende un po' un dolore.
L'altra opzione era usare un div html, il che sarebbe carino, perché posso aggiungere il testo e il riempimento direttamente ma non so come ottenere le coordinate assolute per ogni rettangolo. C'è un modo per fare questo?