【发布时间】:2019-06-19 18:54:11
【问题描述】:
如何倾斜/旋转集合中的单个文本元素而不旋转它们?下面的 js fiddle 显示了倾斜的文本,但不是单独的,都在一个组中。我希望文本垂直对齐。
http://jsfiddle.net/mcroteau/6c3puj8s/16/
var texts = circle.enter().append("text")
.attr("x", 10)
.attr("y", function(d, index){
index = index + 1
var y = starting
if(index > 1){
y = index * increment - 10
}
return y
})
.text( function (d) {
return "test"
})
.attr("font-family", "sans-serif")
.attr("font-size", "11px")
.attr("fill", "black")
.attr("transform", "rotate(345, 30, 0)")
这会将整个组旋转 45 度,而不是每个单独的文本元素。提前感谢您的帮助。
正如您从图像中看到的那样,有一条垂直线我想对齐文本,但每条线都倾斜。旋转变换适用于所有文本,就好像它是一个元素一样。
【问题讨论】:
-
使用旋转属性,例如rotate="10 20 40" 等
-
谢谢。我试过了,见上。我接近它错了吗?我看到你有三个值。
-
3 个值表示 3 个字符。根据需要进行调整。
-
使用函数
.attr("transform", (d,i) => 'rotate(${i*5})')(使用模板字符串反引号) -
感谢您的三个价值观,这让我更加接近。仍然适用于组而不是单个元素。
标签: javascript css d3.js svg