【问题标题】:truncating text in rails截断rails中的文本
【发布时间】:2012-08-20 22:31:50
【问题描述】:

我在页面上显示了一些用户输入的文本,需要很好地截断以适应固定宽度。 Rails 内置了一个很好的帮助器来截断字符串,并像这样指定省略文本:

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

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

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

【问题讨论】:

  • 到目前为止我唯一的想法是生成一个字符宽度的查找表,这似乎有点疯狂。

标签: css ruby-on-rails


【解决方案1】:

在渲染之前无法知道渲染的宽度。不同的浏览器/设备/字体可用性/设置会有所不同。

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

这里的几个答案中有许多相关的东西:Calculate text width with JavaScript

更新这个特别的答案甚至为你添加了一个……:https://stackoverflow.com/a/3140086/168143

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多