2011-03-18 61 views
4

如何計算JavaScript中字符串的長度(以像素爲單位)?如何計算JavaScript中字符串的長度(以像素爲單位)?

+1

哪裏串舉行?除非它在頁面上,否則無法獲得渲染大小。如果它是一個很長的字符串並且會覆蓋多行,會發生什麼情況? – Oded 2011-03-18 14:30:32

+0

需要計算像素行的長度,如果它大於元素的寬度,則更改該行(以附加省略號)並返回一個適合元素的字符串。 – isxaker 2011-03-18 14:37:54

+0

您可能對我的答案感興趣:http://stackoverflow.com/questions/3660052/ellipsifying-the-text-in-a-yui-datatable/3664168#3664168 – pepkin88 2011-03-18 18:41:28

回答

0

最簡單的方法是將其寫入頁面的跨度,獲取寬度,然後刪除跨度。此外,它與跨度繼承的任何字體大小有關。

+1

如果行換行會發生什麼? – Oded 2011-03-18 14:30:48

+0

它不應該假設您正確設置span標籤上的樣式。 – simshaun 2011-03-18 14:32:42

2

你可以使用簡單的代碼

var canvas = document.createElement('canvas'); 
var ctx = canvas.getContext("2d"); 
ctx.font = "11px Arial";   
var width = ctx.measureText(str).width; 
相關問題