55

word-wrap: break-word;我想要一个与CSS 样式一起使用的始终不可见的可选换行符。

这里有一些细节。我的目标是在合理的地方分解长链接。这些字符是一个很好的起点:-, ., _, /, \. 这不是特定于 Rails 的问题,但我想分享一些我现在正在使用的代码:

module ApplicationHelper
  def with_optional_line_breaks(text)
    text.gsub(%r{([-._/\\])}, '\1­')
  end
end

这是上面代码的问题:当­生效时(在带有:的表中word-wrap: break-word;),­显示为-. 我不想看到-; 我想要一个不显示任何字符的换行符。


4

3 回答 3

94

​是 Unicode 字符的 HTML 实体,称为零宽度空间 (ZWSP)。

“在 HTML 页面中,此空格可用作长词中的潜在换行符,以替代<wbr>标记。”-零宽度空格 - 维基百科

正如Aaron 的回答<wbr>所提到的,该标签也有效。我认为我更喜欢 HTML 实体而不是标签,因为实体看起来更简单:unicode 处理它,而不是 Web 浏览器。

于 2013-04-05T19:18:05.163 回答
11

<wbr>看起来它可以满足您的需求,看起来对它的支持,而且&shy;就此而言,非常不一致。所以不幸的是,可能没有特别好的方法来做你想做的事。

于 2013-04-05T18:48:05.060 回答
7

我将在 2019 年将其作为答案发布,尽管它的实质内容完全来自此页面上的其他贡献:使用<wbr>。它可以很好地允许长 URL 的包装,因此不会让它们脱离内容框。<wbr>根据 caniuse.com 和我自己在 Chrome 和 Firefox for Android 中的快速测试,用户能够将您显示的链接粘贴到网络浏览器中确实很重要,并且在现代浏览器中支持很好。我用正斜杠和 WBR 替换了正斜杠,现在 URL 可以很好地换行。

于 2019-02-17T12:23:03.453 回答