截断rails中的文本

时间:2012-08-20 22:31:51

标签: css ruby-on-rails

我有一些用户输入的文字,我正在页面上显示,需要很好地截断,以适应固定的宽度。 Rails有一个很好的帮助器,用于截断字符串,并指定省略文本,如下所示:

truncate(post.title, :length=>50, :omission=>link_to("...",post))

或者我可以like so,但这些都不是很令人满意。我希望省略号在某些文本被截断的情况下链接到原始/全文,并且我希望截断在渲染时由字符占用的实际空间工作(不使用固定宽度字符数,而不是字符数。

如此。有没有修复css版本使用任意html字符串截断文本?或者有没有办法让rails告诉字符串在截断时会占用多少空间?这似乎是一个人们有问题,因为有一个内置的Rails助手来截断文本,但这些人都使用固定宽度的字体吗?

1 个答案:

答案 0 :(得分:2)

在渲染之前,无法知道渲染的宽度。它将与各种浏览器/设备/字体可用性/设置不同。

您唯一的解决方案是通过javascript计算宽度,然后修改标记,生成省略号链接等。

这里有几个相关的问题:Calculate text width with JavaScript

更新此特定答案甚至为您添加了...... https://stackoverflow.com/a/3140086/168143