Range.getClientRects()
方法返回一个由range
占用的ClientRect
列表,当范围在具有文本的正常范围内时,该方法运行良好。如何从浏览器中的字体大小获取行高?
<div class="line">
<span class="run">Hello!</span><span class="run"></span>
</div>
但是当span为空时,它不能得到ClientRect
。 (像在第二个跨度)
我试过以下,但结果并不令人满意。
- 设定量程的显示属性
inline-block
- 插入
'\ufeff'
到跨度。在这种情况下,我可以得到ClientRect
,但这会弄乱代码的其他部分。
如果我可以从font-size
计算线高度,那最好。有没有办法获得px中空跨度的行高?
注意:我不是想要得到line-height
css属性。在这种情况下,line-height
将是normal
。
什么其他部分的代码,搞的一团糟?您能在获得价值后立即撤消您的更改吗? – colllin
您无法从字体大小计算行高 - 它依赖于浏览器和与字体系列相关。对不起,超级无益的“答案”:) – colllin
我期望从字体大小计算线高度的公式。现在我明白它取决于浏览器和字体家族,这意味着它不能从一个简单的公式计算出来。感谢您的评论和兴趣。 – ntalbs