如何在Markdown中插入换行符 <br>

214

我正在尝试创建一个包含同时有链接和下一行文本的段落的Markdown文件。我遇到的问题是,当我在链接后面换一行时,它将呈现为单独的<p>标签。

我的Markdown如下:

[Name of link](url)

My line of text

以下是呈现为以下HTML的内容:

<p>
   <a href="url">Name of link</a>
</p>
<p>My line of text</p>

相反,我希望它呈现为:

<p>
    <a href="url">Name of link</a><br>  // not necessarily with a <br> tag but on a separate line
    My line of text
</p>

我也尝试在Markdown中使用单个换行符:

[Name of link](url)
My line of text

但是链接和文本在同一行上渲染,没有换行。

有什么建议可以解决这个问题吗?


5
[链接名称](网址)<空格><空格>后加上2个空格来尝试。 - majidarif
https://spec.commonmark.org/0.30/#hard-line-breaks - 但是你的Markdown实现是否支持这个功能,目前还不确定。 - Hans Kesting
5个回答

339

尝试在第一行后添加2个空格(或反斜杠\):

[Name of link](url)
My line of text\

视觉上:

[Name of link](url)<space><space>
My line of text\

输出:

<p><a href="url">Name of link</a><br>
My line of text<br></p>
另外,您可以直接将<br>标签放入文本中。它在Markdown中是有效的。

4
我很高兴找到了这个答案。是否有官方的Markdown文档,包含像这样的信息? - Timothy Zorn
38
这很棒,但有一个小问题 - 编辑器设置为删除多余的空格 ;) - Tim Malone
1
@TimMalone 顺便说一下,有些编辑器(至少是 UltraEdit)支持按文件类型设置选项,你可能可以为 .md 文件禁用修剪功能。 - collapsar
9
在行末添加反斜杠具有相同的效果。 - JPG
3
这很酷,但在 Visual Studio Code 中我无法按扩展名过滤修剪尾随空格。因此,我无法仅针对 Markdown 禁用修剪空格功能。不错,但我更喜欢使用 <br> 标签。 - Sergio Belevskij
显示剩余3条评论

48

我知道这篇文章是关于添加单个换行符的,但我想提一下,你可以使用反斜杠 (\) 字符来创建多个换行符

Hello
\
\
\
World!

这将导致“Hello”后面出现3行新的空行。为了澄清,这意味着在“Hello”和“World!”之间有2个空行。它将显示如下:


世界!



个人认为,与使用<br>相比,这种方法在大量行间距方面更加清晰。

请注意,由于兼容性原因,不建议使用反斜杠。因此,您的Markdown解析器可能不支持此功能,但在支持时非常方便。


1
这是我尝试过的唯一在Strapi的RichText组件中有效的解决方案。 - codajoao

32

从多个来源综合答案,Markdown 中添加换行的主要方法有 3 种:

1. 反斜杠 (\)

在行末添加反斜杠,如下所示:

Markdown Input HTML Output HTML Preview
Test line\ 
Test line 2
<p>Test line</p><br>
<p>Test Line 2</p>
Test line
Test line 2

2. HTML标签<br>

许多HTML标签在Markdown中得到直接支持。像这样在行末添加一个HTML标签<br><br>,就可以实现换行:

Markdown Input HTML Output HTML Preview
Test line<br> 
Test line 2
<p>Test line</p><br>
<p>Test Line 2</p>
Test line
Test line 2

3. 两个空格

在行末添加两个空格,如下所示:

Markdown Input HTML Output HTML Preview
Test line  
Test line 2
<p>Test line</p><br>
<p>Test Line 2</p>
Test line
Test line 2

选项3.2 用于空格 - 如果您想在编辑markdown源代码时看到空格,请使用\s代替空格 ( )

注意:选项3.2似乎无法正常工作,但这在markdown指南中有记录

Test line\s\s
Test line 2

1
我更偏向于Option1(反斜杠)和Option2(HTML <br>),因为反斜杠和<br>字符在源格式中清晰可见。 - Gangula
一个简单的HTML<br>在storybook中起作用了,感谢您抽出时间列出这个选项。 - AamirR

24

经过长时间的搜索,我找到了这个解决方案:

\
&nbsp;
\
&nbsp;

这将产生:

<br> <br>


这并没有真正回答楼主的问题。 - Connell.O'Donnell
请在您的答案中添加一些解释,以便其他人可以从中学习。 - Nico Haase
只有使用Visual Studio Code(在MacOS上)(带有MD lint检查)才能接受此解决方案。谢谢。nbsp是什么意思? - nyxee
在我使用的用户界面中,其他选项都没有起作用,但这个选项起了作用。谢谢!!! - undefined

0

如果你想将Markdown存储在JavaScript变量中,只需添加一个新行即可解决问题,就像这样

let markdown = `
    1. Apple
    2. Mango
     this is juicy
    3. Orange
`

1
这有效是因为你在每行前面加了四个空格,这样就创建了一个预格式化的部分。所以我想那是一种方法。 - John Henckel

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