HTML中连字符处不换行

42

我有一个文本 e-commerce,不想在破折号处换行。
如何限制该行文本不换行?

4个回答

94
您可以使用CSS:white-space: nowrap;
示例:将文本包装在具有该CSS声明的span中。 <span style="white-space: nowrap;">电子商务</span>

5
只有这样才不会出现包裹的情况,这也不是预期的结果。 - Madara's Ghost
...嗯...什么?blah blah <span style="white-space: nowrap;">电子商务</span>会很好用=\ - David Wolever
我正在添加一个例子,它虽然不如使用 &#8209; 方法干净利落。 - Paul Sham
11
由于问题的标题,每个人都是通过谷歌搜索来到这个页面寻找答案,不会在意连字符。 - Nick Manning
我冒昧地修复了那个问题。 - Edward Falk

63

使用不间断连字符:&#8209;


1
+1. 它有效。我不知道那个。这里有一个演示:http://jsfiddle.net/jasongennaro/NR5Ch/ - Jason Gennaro
@Rikudo Sennin - 这是我第一次在SO drag-race比赛中获胜(之前我曾经输了好几次)!而且,OP,我刚刚自己谷歌了一下。如果你在那里没有找到答案,你可能想要阅读这个链接:http://owlet.letu.edu/grammarlinks/punctuation/punct4d.html。 - Michael Lorton
这样的缺陷是,在页面中搜索“电子商务”将无法找到该字符串。 - Alexei Danchenkov
@AlexeiDanchenkov - 这取决于您的浏览器的复杂程度,是的。 - Michael Lorton
@Malvolio 嗯,Chrome 65 不够先进,无法将连字符和 ‑ 或 ߛ 视为相同的符号。 - Alexei Danchenkov
请注意,并非所有字体都包含该字符,因此它可能会以替代字体显示。在某些情况下,这可能会造成视觉上的不愉快。 - Discostu36

20

将其包装在<nobr>…</nobr>标签中,或者如果您关心HTML的有效性,请设置white-space: nowrap;样式。


4
我认为<nobr>标签已经过时了。编辑:虽然我不是那个给你投反对票的人。 - Paul Sham
如果你关心有效性?!?我不是那个给你点踩的人,但如果我是,我也不会因为这个原因把它撤销。 - Michael Lorton
3
nobr已经被弃用,但它不应该被这样做。这是由于万维网联盟的一个明显失误。 - Dave Burton
1
没听说过,但是 <nobr> 在我尝试的所有地方都能正常工作 - 而且比其他选项更好...就像我们 - 从未真正相识...现在已经太晚了吗?请告诉我不是这样! - sheriffderek

8

有一个非断点连字符(复制并粘贴它): 或使用 &#8209;&#x2011;

请注意,这是唯一一个统一以下特征的Unicode“字符”:

  • 已经组合(您可以通过组合使任何内容都不中断)
  • 不中断
  • 是连字符或破折号或类似字符


使用由&#8288;&#x2060;表示的单词连接器允许使用其他连字符。结果如下:

e‐⁠commerce(连字符后跟单词连接器)
e‑⁠commerce(ASCII连字符/减号后跟单词连接器)
...参考预组合的一个:
e‑commerce(非断点连字符)

http://jsfiddle.net/NR5Ch/58/ (此代码片段显示了单词连接器的效果)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接