将文本限制为x行数并附加"..."

Fra*_*Kim 5 javascript css jquery fonts typography

我正在寻找一种Javascript/jQuery + CSS方式来限制文本(例如产品名称),即2行.但是访问者需要知道它被截断了,因此我需要在最后添加"...".

我想这样做的原始方法是将文本放在一行中,测量它的宽度,然后在文本达到包含div的宽度的2倍之前将其剪掉,但这似乎很棘手,因为每个角色可能需要计算它的宽度而不是那个.

在这种情况下,将它限制为字符或单词的数量是不行的 - 我想每次完全填充该div的2行,而不是有间隙.

有没有一种很好的方法来实现这一点,而不是使用等宽字体?

elc*_*nrs 9

既然你正在使用jQuery试试这些插件:

  • 嗯... ~600 LOC和外部依赖似乎有点超过这三个小点的顶部.这是一个约20行的快速POJS解决方案.它需要一些工作,需要爬过兄弟姐妹并找到文本节点而不是做出假设,也许还有一些不错的事件处理,但我看不到这个增长超过50个LOC ... http://jsfiddle.net/ HERuT / (4认同)