📏 JS 计算文字宽度

实时测量

Canvas 方式 性能好 --
DOM 方式 更精确 --
字符数 --
宽度可视化
--

方法一:Canvas measureText

function getTextWidthByCanvas(text, font) { const canvas = document.createElement('canvas'); const ctx = canvas.getContext('2d'); ctx.font = font; // 如 '16px Arial' return ctx.measureText(text).width; }

方法二:临时 DOM 元素

function getTextWidthByDOM(text, style = {}) { const span = document.createElement('span'); span.style.visibility = 'hidden'; span.style.position = 'absolute'; span.style.whiteSpace = 'nowrap'; Object.assign(span.style, style); span.textContent = text; document.body.appendChild(span); const width = span.offsetWidth; document.body.removeChild(span); return width; }