在Javascript/HTML5中是否有一种好方法来测量字符串的宽度(在渲染时以像素为单位)

Is there a way good way to measure the width of a string (in pixels when rendered) in Javascript/HTML5

本文关键字:字符串 像素 为单位 测量 HTML5 Javascript 是否 方法 一种      更新时间:2023-09-26

似乎我可以创建一个包含字符串的空DOM元素,将不透明度设置为零,显示它,然后测量元素的宽度,但这似乎真的很hack。我在想有没有更好的办法。什么好主意吗?

编辑:我需要在渲染到屏幕时以像素为单位的宽度,而不是字符数:)

你是指像素宽度吗?不,在没有浏览器渲染的情况下,在Javascript中没有简单的方法来预测它。这在很大程度上取决于浏览器选择的字体、字体大小(如果设置了百分比或em,可能会受到继承的影响)、字母间距、元素填充等。

你提出的在浏览器中呈现它的解决方案,即使是零不透明度或visibility:hidden(感谢评论)是我认为最好的方法。