确定固定div中适合多少文本



可能重复:
使用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);

以上将返回文本宽度!

快速搜索在这里为您揭示了这个可能的解决方案。

这可能不是你想要的。我会继续挖掘,当我发现更多时会更新。

最新更新