【发布时间】:2014-03-12 04:03:29
【问题描述】:
使用Raphael JS 2.1.2,代码如下:
var distance = 250;
var sizes = [ 14, 18, 24, 48, 72, 96 ];
for(var i = 0; i < sizes.length; i++)
{
var size = sizes[i];
var text = me.paper.text(distance + (size * 5), me.top + 200, size).attr({ 'font-size': size });
var rect = text.getBBox();
text.paper.rect(rect.x, rect.y, rect.width, rect.height).attr({ stroke: '#FF0000' });
}
产生这个输出:
如何准确测量文本的高度,如您所见,边界框包含与字体大小相关的垂直填充?
$(text.node).height() 也返回与 rect.height 相同的值。我正在尝试将文本的顶部和/或底部与其他元素对齐,因此我需要一些方法来确定每个字体大小的填充或文本高度。
我可以维护{ size: [font size], padding: [padding] } 的集合,但如果我可以在运行时生成它会更好。
【问题讨论】:
标签: javascript svg raphael