可选的换行符HTML实体,始终不可见

时间:2013-04-05 18:35:06

标签: html line-breaks html-entities

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

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

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

以上代码存在以下问题:当­生效时(在包含word-wrap: break-word;的表格中),­显示为-。我不想看到-;我想要一个没有显示任何角色的换行符。


3 个答案:

答案 0 :(得分:68)

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

  

“在HTML网页中,此空格可用作长字中的潜在换行符,以替代<wbr>代码。” - Zero-width space - Wikipedia

Aaron's answer所述,<wbr>标记也有效。我认为我更喜欢这个HTML实体而不是标签,因为实体看起来更简单:unicode处理它,而不是Web浏览器。

答案 1 :(得分:6)

<wbr>看起来像你想要的那样,它看起来像支持它,&shy;就此而言very inconsistent。不幸的是,可能没有一种特别好的方法可以做你想做的事。

答案 2 :(得分:2)

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