如何设置Highcharts HTML标签的背景色?
我在试着设计一个新的风格。其中一个选项是如何设置Highcharts HTML标签的背景色?,highcharts,Highcharts,我在试着设计一个新的风格。其中一个选项是style:CSSObject,但与许多Highcharts CSSObject一样,它实际上并不需要css。它完全被背景色阻塞了:,我似乎找不到一种有效的语法 labels: { items: [{ html: "<p>Box of text. But how do I set the Background Color?</p>", style
style:CSSObject
,但与许多Highcharts CSSObject一样,它实际上并不需要css。它完全被背景色阻塞了:
,我似乎找不到一种有效的语法
labels: {
items: [{
html: "<p>Box of text. But how do I set the Background Color?</p>",
style: {
left: '60px',
top: '20px',
width: '250px',
fontSize: '10px',
backgroundColor: '#fffdcc'
}
}]
},
标签:{
项目:[{
html:“文本框。但是如何设置背景颜色?”,
风格:{
左:'60px',
顶部:“20px”,
宽度:'250px',
fontSize:'10px',
背景颜色:“#fffdcc”
}
}]
},
如何设置背景色?
我认为这在highcharts API中是不可能的。我建议你只需在图表中添加你自己的html元素
<div id="addText" style="position:absolute; left:0px; top:0px;"></div>
var textX = 200;
var textY = 80;
var span = '<span id="labelText" style="position:absolute; text-align:center;width:150px;background-color:red">';
span += '<span style="font-size: 14px">Box of text with the background set.</span><br>';
span += '</span>';
$("#addText").append(span);
span = $('#labelText');
span.css('left', textX + (span.width() * -0.5));
span.css('top', textY + (span.height() * -0.5));
var textX=200;
var-textY=80;
var span='';
span+='文本框和背景设置。
';
span+='';
$(“#addText”).append(span);
span=$(“#标签文本”);
css('left',textX+(span.width()*-0.5));
css('top',textY+(span.height()*-0.5));
显然,作为标准的html/css,您可以根据需要设置文本样式。不幸的是,这是不可能的,因为标签对象被转换为SVG元素,而SVG元素不包括您的样式,如背景。您可以使用变通方法,通过渲染器添加文本,通过rect()添加背景
示例谢谢。这也非常有帮助。
var point = chart.series[0].data[8];
var text = chart.renderer.text(
'Max',
point.plotX + chart.plotLeft + 10,
point.plotY + chart.plotTop - 10
).attr({
zIndex: 5
}).add();
var box = text.getBBox();
chart.renderer.rect(box.x - 5, box.y - 5, box.width + 10, box.height + 10, 5)
.attr({
fill: '#FFFFEF',
stroke: 'gray',
'stroke-width': 1,
zIndex: 4
})
.add();