Markdown“原生”文本对齐

280

Markdown是否支持本地文本对齐,而无需使用HTML + CSS


19
对于 GitHub Flavored Markdown<p align=center> 可以生效。(引自这个回答 - Ulysse BN
2
对于HTML5,<p style="text-align:center"> 示例文本 </p> - Leo103
15个回答

241

98
因此,请将您的文本包含在 <p style="text-align: center;"></p> 中,这应该适用于任何 Markdown。 - SDJMcHattie
17
Github用户注意:内联样式不起作用,也不包括在Github Flavored Markdown的扩展功能中。这是截至2017年1月GitHub支持的全部内容。有很多在线Markdown测试器声称符合GFM标准并展示内联样式等功能,但实际上Github Markdown目前基本上不支持HTML/CSS。只有<br>能够正常工作,可能还有其他一些隐藏的标签可以使用。 - Govind Rai
30
Github用户:截至2017年6月8日,Diego Vinícius在下面的答案中成功地将文本居中显示在Markdown文件中。只需使用align属性设置为center将您的文本包装在p标签中,就像这样:<p align="center">居中文本</p> - Kröw
3
顺便问一下,使用哪个更好,<div> 还是 <p><p> 是段落的意思,所以也许 <div> 会是一个更中立和更好的选择? - VasiliNovikov
2
@SDJMcHattie 当将 .md 转换为 .pdf 时,此方法不起作用。 - Marc Le Bihan
显示剩余5条评论

139

为了在md文件中居中文本,您可以使用类似HTML标签的center标签:

<center>Centered text</center>

32
该方法在HTML5中已被弃用。 - user5147563
1
该方法适用于SquareSpace Markdown块,截至2018年8月15日。 - ikjadoon
2
现在哪种方法更受欢迎? - zyy

56
元素有自己的对齐属性,align
<div align="center">
  my text here.
</div>

6
最佳解决方案:我们可以使用“justify”代替“center”,适用于div内的所有内容,不会使任何东西变形。 - impopularGuy
3
为了防止 <div 标签内联的 MarkDown 语法被破坏和无法渲染,考虑在开头 <div 标签后面添加一个空行。我发现这样可以防止这种情况发生。 - Tomáš Hübelbauer
这是唯一一个更好的解决方案。谢谢。 - Olivier JM
1
这个可以运行 2023。 - dotrinh PM
在HTML5中,对齐属性也已经被弃用 - iTzVoko

52

我知道这不是Markdown,但<p align="center">对我有用,所以如果有人找出了Markdown语法,我很乐意使用。在那之前,我会使用HTML标签。


1
自HTML 4以来,align属性已被弃用,并且在HTML 5中已经过时。 - Jindrich Vavruska
10
尽管上面的回答没有起作用,但这种方法成功地为我在 GitHub 上的一些文本实现了居中。 - Kröw
1
刚在Github上测试过:它适用于文本,但不适用于图像。 - xtian
1
如果HTML标签无法与p标签对齐,可以尝试使用<div class="margin: 0 auto;">将图像放在其中。 - Diego Vinícius
@JindrichVavruska,现在应该使用什么替代Markdown呢? - Hi-Angel
很多地方使用Markdown或类似的语言,WhatsApp使用了一些Markdown命令,如粗体、斜体等等... 这是一种简单的格式化文本的方法,无需使用工具箱等。 - Diego Vinícius

25

虽然有些不规范,但如果你正在使用GFM或其他支持使用管道符构建表格的MD语法,您可以使用列对齐功能:

|| <!-- empty table header -->
|:--:| <!-- table header/body separator with center formatting -->
| I'm centered! | <!-- cell gets column's alignment -->

这在marked中有效。


1
如何申请标题?如果我在“|”内使用普通的“#”,它会原样显示。 - nilon
1
这似乎仅适用于文本。我正在尝试将图像居中。 - Vince

14

在Github中,您需要编写:

<p align="justify">
  Lorem ipsum
</p>

我喜欢在较长的README.md文件中以“索引”列表开头。我将其放在每个部分的末尾,以防读者想要返回索引<p align="right">[Index](#index)</p>。效果很好 :) - MmmHmm
1
这个解决方案可行,但是一些样式,比如斜体文本会丢失。 - JavDomGom
1
@JavDomGom 试着在开头的<div标签后面添加一个空行,然后你的内联元素样式应该会被保留。 - Tomáš Hübelbauer
在HTML5中,align属性已被弃用 - iTzVoko

8

对于Markdown Extra,您可以使用自定义属性:

# Example text {style=text-align:center}

这适用于标题和引用,但不适用于段落、内联元素和代码块。

一个更短的版本(但在HTML 5中不支持):

# Example text {align=center}

@AlmostPitt 如上所述,这是一个Markdown Extra特定的功能,不太可能在其他地方起作用。 - user5147563

7
使用表格语法可以做到“有限”的居中对齐。例如,您可以按照以下方式将普通文本居中对齐:
| |
| :-: |
| Excerpts from Romeo and Juliet (arr. V. Borisovsky) |

这将产生:
《罗密欧与朱丽叶》节选(V. Borisovsky改编)
请注意,您仍然可以在 HTML 块内使用 Markdown。例如:
<div style="font-style: italic; text-align: center;" markdown="1">

## Excerpts from Romeo and Juliet (arr. V. Borisovsky)
### Sergei Prokofiev
#### Timothy Ridout, viola ∙ Frank Dupree, piano

</div>

4

我发现在Jupyter笔记本单元格中使用LaTeX语法非常有用,例如:

![good-boy](https://i.imgur.com/xtoLyW2.jpg  "Good boy on boat")

$$\text{This is some centered text}$$

这个功能是因为大多数的Markdown库都支持Latex。 - undefined

3
对于大多数Markdown解析器而言,本地化对齐文本的方式并不可行。一些解析器支持这种语法:-> 居中 <-
但是,如果您的解析器不支持它,您可以使用HTML来实现,甚至允许您在标签内呈现Markdown。
当使用任何元素(如标题)时,您可以使用等效的HTML标记,例如:
# Title
## title 2

等同于

<h1> Title </h1>
<h2> Title 2 </h2>

比如说,对于标题,你可以使用以下属性来对齐文本:

<!-- title only -->
<h1 align="center"> Title </h1>

<!-- title with div -->
<div align="center"> <h1 align="center"> Title inside div! </h1> </div>

但有时您不想使用HTML,因为它会破坏在其中使用markdown的能力,在这种情况下,您可以使用span,它允许您在HTML标记内呈现markdown:

<!-- title with span (you can render emojis or markdown inside it) -->
<span align="center"> <h1> :star: ~~Centered~~ </h1> </span>


请注意,该属性已被弃用,尽管它已被弃用,但它也是某些 flavors 的 Markdown(如 Github 的 Markdown)中唯一能够使用的属性。

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