如何获得跨度的线高?

Rad*_*hev 6 javascript css jquery dom

有没有办法让line-height一个的span(或其他内联元素)在JavaScript/jQuery的?

我需要精确计算line-height的像素,而不是排序的值1.2em,normal或启发式fontSize * 1.5.

我需要做的是拉伸a的背景span以填充线的整个高度.我想我可以添加填充来拉伸跨度,但为此我需要精确line-height.如果有人可以提供另一种方法,这也会有所帮助.

小智 5

一个简单的方法是:

var style = window.getComputedStyle(element);
var lineHeight = style.getPropertyValue('line-height');
Run Code Online (Sandbox Code Playgroud)

这将在不使用 jQuery 的情况下获得行高的计算值,并且适用于 IE9 及以上的所有浏览器。

  • 在大多数情况下,这将返回“正常”,而不是像素值。 (5认同)

Esa*_*ija 3

$("span").css( "line-height");
Run Code Online (Sandbox Code Playgroud)

例如,以字符串“16px”形式检索计算出的 px 值。它在幕后使用 IEcurrentStyle或标准。getComputedStyle这有点令人惊讶,因为当它作为二传手时,它所做的elem.style.something = value事情是完全不同的。