我正在尝试计算适合 div 一行的字符数并剪掉其余部分,尽管 text-overflow
是一个选项我宁愿计算适合的字符串长度正确地在其中。一个字符的字体大小是否几乎等于它的宽度,如果不是,你如何计算它的宽度,包括文本间距和空白宽度。
附言- 在标记这个问题之前,请知道我已经完成了大部分问题和答案,但没有一个是令人满意的。
最佳答案
我会这样做的一种方法是检查 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
关于javascript - 如何根据字体大小计算字符宽度。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43874620/