В чем разница между атрибутами svg x и dx (или y и dy)? Когда будет подходящее время для использования атрибута сдвига оси (dx) вместо атрибута местоположения (x)?
Например, я заметил много примеров d3, делающих что-то вроде этого
chart.append("text")
.attr("x", 0)
.attr("y", 0)
.attr("dy", -3)
.text("I am a label")
В чем преимущество или обоснование установки y и dy, когда кажется, что следующее делает то же самое?
chart.append("text")
.attr("x", 0)
.attr("y", -3)
.text("I am a label")
d3.js
, он используется для объединения разных блоков. Like,x="3" dx="0.5em"
который составляет 3 пикселя + половина строки текста.Чтобы добавить к ответу Скотта, dy, используемый с em (единицы размера шрифта), очень полезен для вертикального выравнивания текста относительно абсолютной координаты y. Это рассматривается в примере текстового элемента MDN dy .
Использование dy = 0.35em может помочь центрировать текст по вертикали независимо от размера шрифта. Это также помогает, если вы хотите повернуть центр текста вокруг точки, описываемой вашими абсолютными координатами.
Посмотреть в Codepen
Если вы не укажете «dy = 0.35em», слова будут вращаться вокруг нижней части текста и после 180 выравниваются под тем местом, где они были до вращения. Включение "dy = 0.35em" поворачивает их вокруг центра текста.
Обратите внимание, что dy нельзя установить с помощью CSS.
источник