Firefox 4 中的 text-overflow:ellipsis
Firefox 开发人员自 2005 年以来一直在争论 text-overflow:ellipsis; CSS 属性,尽管有明显的需求,但他们似乎无法真正实现它(即使是实验性的 -moz- 实现也足以)。
几年前,有人想办法破解 Firefox 3 以支持省略号。该 hack 使用 -moz-binding 功能使用 XUL 实现它。现在有很多网站都在使用这个 hack。
坏消息?Firefox 4 正在删除 -moz-binding 功能,这意味着此 hack 将不再起作用。
因此,一旦 Firefox 4 发布(听说在本月晚些时候),我们将再次遇到无法支持此功能的问题。
所以我的问题是:有什么其他方法可以解决这个问题?(我尽量避免使用 JavaScript 解决方案,如果可能)
[编辑]
有很多赞成票,所以显然不仅仅是我想知道,但到目前为止我只收到一个答案,基本上是说“使用 JavaScript”。我仍然希望一个无论如何都不需要 JS 的解决方案,或者最坏的情况是在 CSS 功能不起作用时使用它作为后备。所以我会悬赏这个问题,希望在某个地方有人找到了答案。
[编辑]
更新:Firefox 进入了快速开发模式,但尽管 FF5 现在已经发布,此功能仍然不受支持。现在大多数用户已经从 FF3.6 升级,因此破解不再是解决方案。好消息是,据我了解,它可能会添加到 Firefox 6 中,而按照新的发布计划,它将在几个月内发布。如果是这样,我想我可以等下去,但很遗憾他们不能早点解决它。
[最终编辑]
我看到省略号功能终于添加到 Firefox 的“Aurora Channel”(即开发版本)。这意味着它现在应该作为 Firefox 7 的一部分发布,该版本预计于 2011 年底发布。真是太高兴了。
在此处提供发行说明:https://developer.mozilla.org/en-US/Firefox/Releases/7
为了在 Firefox 4 中实现文本溢出的相同效果,可以使用以下 JavaScript 代码:
var limit = 50; var ellipsis = "..."; if( $('#limitedWidthTextBox').val().length > limit) { // -4 to include the ellipsis size and also since it is an index var trimmedText = $('#limitedWidthTextBox').val().substring(0, limit - 4); trimmedText += ellipsis; $('#limitedWidthTextBox').val(trimmedText); }
以上是如何在没有 JavaScript 的情况下在 Firefox 4 中实现文本溢出:省略?的详细内容。更多信息请关注PHP中文网其他相关文章!