我正在尝试渲染饼图的图例,使其具有固定宽度,并且当标签到达该宽度(div持有者)以在下一行连字时。我尝试了行选项,但它不能很好地工作,因为我的数据是动态的,有时我说3个数据集,并且每个数据集都在一个单独的行中呈现,而在其他时候我有15-20个数据套装,它变得凌乱。
无论如何,解决方案是将图例限制在div的宽度,它被渲染,但它似乎不接受任何CSS更改。我尝试添加宽度:250px;在jqPlot css中的“jqplot-table-legend”中,我也尝试使用Chrome中的Inspect Element将其添加到各个地方以测试它是否有效,但它似乎不接受新的宽度。我也尝试将它硬编码到各个地方的javascript文件中,没有运气。
我不确定在代码方面我可以添加什么问题。在jqPlot方面,一切都非常标准。
有关如何解决这个问题的任何建议都将非常感激。
答案 0 :(得分:0)
这似乎是快速而肮脏的方式,但它完成了工作。我将使用jqplot.pieRenderer.js文件作为示例,因为它比缩小版本更容易阅读。打开js文件并向下滚动到第568行。在
下面this._elem = $(document.createElement('table'));
this._elem.addClass('jqplot-table-legend');
添加
this._elem.css({width: 300});
这会将桌子延伸到你需要的任何宽度。不幸的是,它还使用色样扩展了色谱柱,因此您现在需要向下滚动一点直到找到
td1.css({textAlign: 'center', paddingTop: rs});
将其更改为
td1.css({width: 16, textAlign: 'center', paddingTop: rs});
你应该全力以赴。