D3.js风格管理对变化有力

时间:2014-03-21 14:57:52

标签: d3.js

我正在用d3做一些业余开发,并试图通过我的CSS表管理样式。但是,当我玩具尺寸和宽度等时,我发现自己经常手动调整其他参数以适应我的变化。 (例如,在改变刻度的字体大小时,我需要调整绘制这些刻度的图形边距。)是否有更可扩展的方式来设置/生成我的图表以允许这些更改而无需大量调整?这个工作流程似乎是一种反模式,但在进行低级图形工作时可能是必要的。

1 个答案:

答案 0 :(得分:1)

您可以采取一些措施使图形响应字体大小,但它会增加代码,因此在大多数示例中都会跳过。

您可以使用getComputedStyle来确定字体大小,并使所有边距与此成比例。或者要非常灵活,您可以先绘制轴,使用.getBBox找到最长刻度标签的长度,然后使用它作为边距值来重新定位/调整所有内容。

不幸的是,没有相当于CSS calc函数来轻松计算出像width = 100% - 5em这样的值;你必须得到宽度和字体大小的计算样式,并自己计算。