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