2011-12-09 122 views
0

我有以下幾點:跨度結束語一個跨度

<span id="span_1" style="overflow: auto;"> 
<span id="span_2" style="font-size: 200px; background-color: red;">Testing</span> 
</span> 

當我試圖讓使用jQuery包裝跨度span_1的高度 - 它給了我19px。儘管內部跨度span_2的字體大小爲200px,並且它在螢火蟲上的計算高度爲225px。

爲什麼包裹跨度沒有完全纏繞內部跨度?

我基本上試圖找到精確剩餘高度的一個特定元素。這個元素可以有很多孩子,但我想知道它剩下多少高度。所以這個想法是將所有元素都包含在一個範圍內,並使用jQuery計算高度,但到目前爲止,我不明白爲什麼上述不起作用。

更好的主意?我無法將內容包裹在內容中,因爲它會受到行高的影響。

+1

行內元素實際上是否有可計算的高度? – JohnP

+0

是的,請參閱示例:http://jsfiddle.net/jmEv9/ – Abs

回答

2

嘗試將display: inline-block;添加到父跨度。

+0

這與包裝跨度在div中的問題相同。頂部和底部有額外的空間。我認爲t也會受到行高的影響。 – Abs

+0

我不知道你是如何使用line-heigh,但你可以期望任何其他解決方案也會受到line-height的影響。你爲什麼不把背景放在父跨度中?或者將「display:inline-block;」也添加到子跨度中? – scumah

0

嘗試添加

顯示:塊; 位置:相對;

您的內在和外面也是。跨度是內聯元素,默認情況下它沒有寬度或高度。

2

嘗試$("#span1").outerHeight();

+0

這看起來像它可以工作!需要測試更多! – Abs

+0

這不會工作,它會返回與螢火蟲的計算高度一樣。 – scumah

+0

'$(「#span_2」)。outerHeight();'很好。 –