2013-03-01 22 views
8

Nhắc đi ví dụ này
http://jsfiddle.net/uzgJX/Cách lấy chiều cao thực của văn bản?

Kết quả là chiều cao của hộp chứa văn bản (một trong những bạn có thể thấy nếu bạn chọn văn bản bằng chuột ..) wichi là cao hơn thì chiều cao thực sự của bản văn.
Có cách nào để có được chiều cao thực sự với jquery hoặc js đồng bằng không?
Trong ví dụ tôi tryed với

text.height() 

text[0].getBoundingClientRect().height 

không có may mắn, nó nói 19px thay vì 14px

+0

chữ '# text' ở đâu? – fgokalp

+0

kiểm tra điều này: http://stackoverflow.com/questions/1134586/how-can-you-find-the-height-of-text-on-an-html-canvas – vector

+0

xin lỗi fgokalp: đã thực hiện một số lỗi khi nhập sai và chỉnh sửa câu hỏi, tham khảo câu trả lời và kiểm tra fiddle của Andy E Bên dưới – ettolo

Trả lời

11

Nhận các tính font-size cho các phần tử văn bản thay vì:

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

font-size r epresents kích thước của một em vuông cho một phông chữ. Cần lưu ý rằng, trong khi hầu hết các glyphs sẽ ở bên trong các giới hạn của một ô vuông, một số có thể vượt quá giới hạn đó. Tuy nhiên, điều này thường không xảy ra trên các dĩa thẳng đứng.

Hãy thử: http://jsfiddle.net/uzgJX/1/. Mẹo: ảnh chụp màn hình và sao chép vào trình chỉnh sửa hình ảnh yêu thích của bạn, sau đó chọn các pixel chính xác đến chiều cao của văn bản và so sánh với giá trị được đưa ra trong fiddle.

+0

Cảm ơn bạn Andy E! Đó là những gì tôi cần! – ettolo

+0

... nhưng bạn có chắc nó hoạt động không? http://jsfiddle.net/ynfAP/2/ – ettolo

+0

@ettolo: trong trường hợp văn bản không hiển thị, bạn có thể muốn kiểm tra kết quả của jQuery cho 'chiều cao' lớn hơn 0 đầu tiên. –

Các vấn đề liên quan