Javascript 改变拉斐尔作品的背景色;标签";
如果我使用Raphael创建一个图形,默认样式是带有白色文本的黑色块 如何更改背景框颜色,而不是文本颜色?我试过:Javascript 改变拉斐尔作品的背景色;标签";,javascript,raphael,graphael,Javascript,Raphael,Graphael,如果我使用Raphael创建一个图形,默认样式是带有白色文本的黑色块 如何更改背景框颜色,而不是文本颜色?我试过: paper.label(x, y, value).attr("fill", colour) 但这也填满了文本,我最终得到了看不见的文本 我也不能简单地更改中的默认颜色,因为我需要根据添加到的行使用一些不同的颜色: 我正在制作一个类似于此的图形,并使用: .attr({fill:#EF7C4D}) 让我知道这是怎么回事 var r = Raphael('divID', 320, 2
paper.label(x, y, value).attr("fill", colour)
但这也填满了文本,我最终得到了看不见的文本
我也不能简单地更改中的默认颜色,因为我需要根据添加到的行使用一些不同的颜色:
我正在制作一个类似于此的图形,并使用: .attr({fill:#EF7C4D}) 让我知道这是怎么回事
var r = Raphael('divID', 320, 220);
text = r.text(100,100,"Hello").attr({fill:"#fff"});
text.label().attr({fill:"#f00"});
这是一把小提琴
设置文本或标签上的任何颜色都将分别应用…希望这有帮助
深入挖掘…Paper.label(x,y,text)
不同于Element.label()
如果您查看源代码Paper.Label(x,y,text)
是一组矩形元素和文本元素,因此.attr({fill:“SomeColor”})
适用于整个集合,因此矩形和文本共享相同的颜色(因此不可见)
哦,是的,如果您只想更改文本颜色,请执行以下操作:Raphael.g.txtttr.fill=“#yourColorCode”
,但这会全局更改所有图表和工具提示上的文本颜色(这似乎不是一个好主意)
而Element.Label
正如文档所说,它将上下文元素嵌入标签工具提示中,基本上无论您使用什么Element
,应用.Label
都会将其嵌入矩形中,正如您所注意到的那样
Paper.label(x, y, value).attr(
fill : color
);
同时更改背景填充颜色和文本填充颜色,导致文本不可见
Unspecified正确地解释了这是一个数组,因此每个部分都必须单独更改,如图所示。但是,他们没有提到更改和更新两组属性的最简单方法,所以我想与大家分享这个技巧。为此,请将属性更改为包含两个集合的数组。第一个元素是背景,第二个元素是文本
Paper.label(x, y, value).attr([{
fill : backgroundColor
}, {
fill : textColor
}]);
可以向每个零件添加任何其他适用属性。这里有一个工作示例:谢谢Rob,尽管我提到我已经尝试过这个,发现它也填充了文本。还有其他想法吗?谢谢,我认为这更准确地回答了这个问题。