Markdown不换行(nobr)是什么?

32

在我的markdown中有一个电话号码,它往往会超出行的末尾。在HTML中,我可以使用<nobr>标签将其包装起来,以使其正确地保持在一起。在markdown中正确的方法是什么?

我的问题的截图
4个回答

33
你可以使用非断字符(&#x2011;)(详见此处)
1&#x2011;111&#x2011;111&#x2011;1111

对于

1-111-111-1111
或者你需要电话号码格式,每位数字之间有空格,那么可以使用不间断空格字符(no-break space character)( &#160; )。
1&#160;111&#160;111&#160;1111

对于

1 111 111 1111

11
值得铭记和广为流传的HTML代码 Non-breaking Space 的表示是 &#160;,对应的实体名称是 &nbsp; - eapo
我知道这是一个非常老的帖子,但我正在尝试使用不间断连字符,虽然它确实可以防止换行,但它的呈现形式比普通破折号(-)要窄得多,几乎看起来像一个点而不是破折号。即使在等宽字体中,我也看到它以一种奇怪的窄形呈现,这可能会令人困惑。(根据IntelliJ idea中的Markdown预览,我希望它在Github上不会看起来那么糟糕。)这是关于命令行选项的文档,例如--foo,您绝对不希望出现换行。 - kshetline
@kshetline,我建议你使用其他答案中的解决方案。那就是使用CSS。我想象中--foo在HTML中呈现为<code>块。因此,您可以创建CSS规则code { white-space:nowrap; }或尝试hyphens:none... - mahish
3
@mahish,我很想使用CSS,但不幸的是,由于这是一个README文件的Markdown格式,我无法控制可能使用的Markdown查看器。好的一面是,结果表明在我最关心外观的Github上看起来不错。 - kshetline

31

显然,我没有意识到您可以在Markdown中嵌入HTML。

<nobr>[1-111-111-1111](tel:11111111)</nobr>

工作正常。


1
请查看 CommonMark 规范中的 Raw HTML 部分。 - Álvaro González
3
“<nobr>”标签不是标准HTML,不应使用。 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nobr - Jeff Walker Code Ranger
3
@Jeff Walker 代码巡游者,那么有什么替代方案吗? - Radon8472

0
你也可以在你的markdown中使用带有内联样式的span标签。
<span style="white-space:nowrap;">[1-111-111-1111](tel:11111111)</span>

-1

'nobr'标签是非标准的HTML标签,虽然出于遗留目的而被浏览器支持,但正确的方式是通过CSS来处理它。

CSS等效代码:

.nobr   { white-space:nowrap; }

14
“正确的方法是处理它。”很不幸,如果您正在键入内容,但无法控制CSS(例如在GitHub Markdown文件中),这种方法将无效。您可以添加HTML但不能添加CSS:https://dev59.com/questions/rGIj5IYBdhLWcg3wHh3_#20599838 #fwiw - MikeSchinkel
3
如果你能添加 HTML,那么你也可以添加内联样式。 - Timar Ivo Batis

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