我想要一个可选的换行符,它总是不可见的,与word-wrap: break-word;
CSS样式一起使用。
以下是一些细节。我的目标是在合理的地方拆分长链接。这些角色是一个很好的起点:-
,.
,_
,/
,\
。这不是特定于Rails的问题,但我想分享一些我现在正在使用的代码:
module ApplicationHelper
def with_optional_line_breaks(text)
text.gsub(%r{([-._/\\])}, '\1­')
end
end
这是上面代码的问题:当­
生效时(在表格中:word-wrap: break-word;
),­
显示为-
。我不想看到-
;我想要一个没有显示任何角色的换行符。
​
是称为零宽度空间(ZWSP)的unicode字符的HTML实体。
“在HTML页面中,这个空间可以用作长字中的潜在换行符,作为
<wbr>
标签的替代品。” - Zero-width space - Wikipedia
如<wbr>
所述,Aaron's answer标签也有效。我认为我喜欢这个HTML实体而不是标签,因为实体看起来更简单:unicode处理它,而不是Web浏览器。
<wbr>
看起来像它做你想要的,但它看起来像它的支持,而­
就此而言,是very inconsistent。所以不幸的是,可能没有一种特别好的方法来做你想要的。
我将在2019年将其作为答案发布,尽管它完全从本页的其他文章中提取其内容:使用<wbr>
。它适用于允许包装长URL,因此不会让它们脱离内容框。根据caniuse.com以及我自己在Chrome和Firefox for Android中的快速测试,能够将您显示的链接粘贴到Web浏览器中的用户确实很重要,并且支持<wbr>
在现代浏览器中很有用。我用正斜杠和WBR替换了正斜杠,现在URL很好地包装了。