我正在尝试计算适合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/