【发布时间】:2010-09-24 08:06:26
【问题描述】:
我有一个(固定宽度和高度)标签,它总结了一长串选择标准,并且规范说,如果标签内容超过 2 行 @ 400px,则应修剪,应添加椭圆,其余的应该在鼠标悬停时显示在悬停的 div 中,就像工具提示一样。我想要一些关于选择修剪点的最佳方法的建议。
到目前为止,我只有两个想法,而且我对其中任何一个都不太满意:
我根据内容长度推测截断;我发现这是特别不明智的,因为 (1) 我使用的是比例字体,并且 (2) 这是一个两行文本,环绕很容易把它弄得一团糟。
我使用第二个隐藏标签,并在 javascript 中获取宽度。稍微好一点,但不同意环绕,因为隐藏标签只有 1 行。
无论我最终实现什么解决方案,我可能都必须严格使用 JavaScript 来执行此操作。
【问题讨论】:
-
我不久前听说过这个hack,不知道在哪里:获取文本,按单词分割,然后将每个单词放在标签内自己的元素中;然后依次检查每个单词,看它是否与前一个单词在同一行(offsetHeight?)。如果没有,您已经找到了换行符。
标签: javascript html text label truncate