可能重复:
使用Javascript 计算文本宽度
好吧,下面是我想看看是否可以完成的。我想把用户提交的文本(所以…可变长度(放在一个固定宽度/高度的分区中。如果文本将超过分配的空间,我想尽可能多地显示,并在末尾放一个省略号(…(,尽可能靠近边界。
所以我想知道的是。。。是否可以判断某个文本块将占用多少空间(javascript(?我不想使用单间距字体,即使我使用了,我也不知道它是否会有多大帮助。
我开始怀疑是否没有太多的变量需要考虑,而且我最终需要做一些不太精确的事情,比如输出固定的最大字符数。但我想看看是否有人以前完成过这样的事情,或者是否普遍认为"不可能/不值得付出努力"。谢谢大家!
工作Fiddle
function width(tex) {
var text = tex;
var div = document.createElement("div");
div.style.position="absolute";
div.style.top="-999px";
div.style.left="-999px";
div.id = "width";
div.innerHTML=tex;
document.body.appendChild(div);
var el = document.getElementById("width");
var w = el.offsetWidth;
el.parentNode.removeChild(el);
return w;
}
var s = parseInt(width("s"), 10);
alert(s);
以上将返回文本宽度!
快速搜索在这里为您揭示了这个可能的解决方案。
这可能不是你想要的。我会继续挖掘,当我发现更多时会更新。