2013-03-01 8 views
8

Riferendosi andare questo esempio
http://jsfiddle.net/uzgJX/Come ottenere l'altezza reale di un testo?

Il risultato è l'altezza della casella contenente il testo (quello che si può vedere se si seleziona il testo con il mouse ..) Wichi è più alto allora la vera altezza del testo.
C'è un modo per ottenere l'altezza reale con jquery o js normale?
Nell'esempio Ho provato con

text.height() 

e

text[0].getBoundingClientRect().height 

senza fortuna, si dice 19px invece di 14px

+0

dov'è '# testo'? – fgokalp

+0

controlla questo: http://stackoverflow.com/questions/1134586/how-can-you-find-the-height-of-text-on-an-html-canvas – vector

+0

sorry fgokalp: fatto alcuni errori wile digitando e modificando la domanda, fai riferimento all'esame di risposta e violino di Andy E Sotto il vettore dei serbatoi – ettolo

risposta

11

Prendi il calcolato font-size per il vostro elemento di testo invece:

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

font-size r rappresenta la dimensione di un quadrato em per un font. Dovrebbe essere notato che, mentre la maggior parte dei glifi resterà entro i limiti di un quadrato em, alcuni potrebbero superare questi limiti. Questo di solito non si verifica sulle dimensioni verticali, però.

Provalo: http://jsfiddle.net/uzgJX/1/. Suggerimento: screenshot e copia nel tuo editor di immagini preferito, quindi seleziona i pixel esattamente all'altezza del testo e confrontalo con il valore dato nel violino.

+0

Grazie Andy E! Questo è quello che mi serviva! – ettolo

+0

... ma sei sicuro che funzioni? http://jsfiddle.net/ynfAP/2/ – ettolo

+0

@ettolo: nel caso in cui il testo non sia visibile, si potrebbe voler controllare il risultato di jQuery per 'height' è maggiore di 0 prima. –

Problemi correlati