我有一些用户输入的文字,我正在页面上显示,需要很好地截断,以适应固定的宽度。 Rails有一个很好的帮助器,用于截断字符串,并指定省略文本,如下所示:
truncate(post.title, :length=>50, :omission=>link_to("...",post))
或者我可以like so,但这些都不是很令人满意。我希望省略号在某些文本被截断的情况下链接到原始/全文,并且我希望截断在渲染时由字符占用的实际空间工作(不使用固定宽度字符数,而不是字符数。
如此。有没有修复css版本使用任意html字符串截断文本?或者有没有办法让rails告诉字符串在截断时会占用多少空间?这似乎是一个人们有问题,因为有一个内置的Rails助手来截断文本,但这些人都使用固定宽度的字体吗?
答案 0 :(得分:2)
在渲染之前,无法知道渲染的宽度。它将与各种浏览器/设备/字体可用性/设置不同。
您唯一的解决方案是通过javascript计算宽度,然后修改标记,生成省略号链接等。
这里有几个相关的问题:Calculate text width with JavaScript
更新此特定答案甚至为您添加了...... https://stackoverflow.com/a/3140086/168143