Quelle est la différence entre les attributs x et dx de svg (ou y et dy)? Quel serait le bon moment pour utiliser l'attribut de décalage d'axe (dx) par rapport à l'attribut d'emplacement (x)?
Par exemple, j'ai remarqué de nombreux exemples d3 faisant quelque chose comme ça
chart.append("text")
.attr("x", 0)
.attr("y", 0)
.attr("dy", -3)
.text("I am a label")
Quel est l'avantage ou le raisonnement pour définir à la fois y et dy lorsque ce qui suit semble faire la même chose?
chart.append("text")
.attr("x", 0)
.attr("y", -3)
.text("I am a label")
d3.js
, il est utilisé pour combiner différentes unités. Commex="3" dx="0.5em"
ce qui équivaut à 3 pixels + une demi-ligne de texte.Pour ajouter à la réponse de Scott, dy utilisé avec em (unités de taille de police) est très utile pour aligner verticalement du texte par rapport à la coordonnée absolue y. Ceci est couvert dans l' exemple d'élément de texte MDN dy .
L'utilisation de dy = 0,35em peut aider à centrer verticalement le texte quelle que soit la taille de la police. Cela aide également si vous souhaitez faire pivoter le centre de votre texte autour d'un point décrit par vos coordonnées absolues.
Voir dans Codepen
Si vous n'incluez pas "dy = 0.35em", les mots tournent autour du bas du texte et après 180, s'alignent en dessous de leur emplacement avant la rotation. Inclure "dy = 0.35em" les fait pivoter autour du centre du texte.
Notez que dy ne peut pas être défini à l'aide de CSS.
la source