2013-03-01 39 views
8

參考去這個例子
http://jsfiddle.net/uzgJX/如何獲得文本的真實高度?

結果是一個包含文本框的高度(一個,如果你用鼠標選擇文本,你可以看到..)wichi高則的真實高度文本。
有沒有辦法用jQuery或純js獲得真正的高度?
在我

text.height() 

text[0].getBoundingClientRect().height 

沒有運氣tryed的例子,它說的19px而不是14px的

+0

哪裏有'#文字? – fgokalp 2013-03-01 15:44:32

+0

檢查了這一點:http://stackoverflow.com/questions/1134586/how-can-you-find-the-height-of-text-on-an-html-canvas – vector 2013-03-01 15:50:32

+0

對不起fgokalp:做了一些錯誤的詭計和打字編輯問題,請參閱安迪E的答案和小提琴examle下面 – ettolo 2013-03-01 21:50:42

回答

11

獲得計算font-size爲您的文本元素來代替:

parseInt(window.getComputedStyle(text[0]).fontSize, 10); 

font-size [R表示字體的em平方的大小。應當指出的是,雖然大多數字形會留一個全身長方塊的邊界內,一些可能超出這些範圍。不過,這通常不會發生在垂直方向上。

試試看:http://jsfiddle.net/uzgJX/1/。提示:截圖並複製到您喜歡的圖像編輯器中,然後精確選擇文本高度的像素,並與小提琴中給出的值進行比較。

+0

謝謝安迪電子!這就是我需要的! – ettolo 2013-03-01 21:49:12

+0

...但你確定它有效嗎? http://jsfiddle.net/ynfAP/2/ – ettolo 2013-03-04 09:57:11

+0

@ettolo:在文本是不可見的情況下,你可能要檢查jQuery的結果爲'height'比0第一較大。 – 2013-03-04 09:59:31

相關問題