Javascript 如何根据字体大小计算字符宽度。

Javascript 如何根据字体大小计算字符宽度。,javascript,html,css,Javascript,Html,Css,我试图计算适合div中一行的字符数,并修剪掉其余的字符,尽管文本溢出是一个选项,但我宁愿计算适合它的字符串长度。一个字符的字体大小是否几乎等于它的宽度,如果不是,如何计算它的宽度,包括文本间距和空白的宽度 附言-在标记此问题之前,您知道我已经检查了大多数问题和答案,但没有一个是令人满意的。我可以这样做的一种方法是检查分区中是否有足够的空间来执行此操作,您需要创建一个相同的div,并从克隆的div中慢慢删除一个字符,直到原始div大于或等于克隆的div的宽度 divClone.textConten

我试图计算适合div中一行的字符数,并修剪掉其余的字符,尽管
文本溢出是一个选项,但我宁愿计算适合它的字符串长度。一个字符的字体大小是否几乎等于它的宽度,如果不是,如何计算它的宽度,包括文本间距和空白的宽度


附言-在标记此问题之前,您知道我已经检查了大多数问题和答案,但没有一个是令人满意的。

我可以这样做的一种方法是检查分区中是否有足够的空间来执行此操作,您需要创建一个相同的div,并从克隆的div中慢慢删除一个字符,直到原始div大于或等于克隆的div的宽度

divClone.textContent = text
document.body.appendChild(divClone)
while(divClone.clientHeight > originalDiv.clientHeight) {
    divClone.textContent = divClone.textContent.substring(0, divClone.textContent.length-1)
}
originalDiv.textContent = divClone.textContent

然后,当克隆的div完成时,您可以删除它。

正在使用选项?@Scott我没有使用canvas。文本位于
div
中。可能存在重复的