如何使用Markdown使文本居中?

31

如何在Markdown中居中一个项目?我正在寻找一个适用于Grav的解决方案。


2
不支持。请参见 https://dev59.com/0GYq5IYBdhLWcg3w-FTQ - Robert Harvey
3个回答

36

Markdown本身不支持此功能但是您可以通过将Markdown包裹在HTML中来实现。

一般来说,大多数Markdown格式将呈现为居中文本:

<p style="text-align: center;">Centered text</p>

针对Grav,正如他们的文档所述,您应该执行以下步骤:

在您的系统配置文件user/config/system.yaml中,确保激活markdown extra选项:

pages:
  markdown:
    extra: true
在您的包装标签中,确保添加参数markdown="1"以激活处理Markdown内容的功能:
<div class="myWrapper" markdown="1">
# my markdown content

this content is wrapped into a div with class "myWrapper"
</div>

2
这个答案很好,但我发现缺少文本对齐在CommonMark(和大多数其他Markdown规范)中是令人困惑的事实。它看起来非常明显、简单和有用,一定有我不知道的原因... - k3davis
2
“Markdown格式的文档应该可以直接发布为纯文本,而不会看起来像是被标记或格式化指令所标记。” - Estevan Maito
3
谢谢@Estevan,这很有帮助,尽管文本对齐和其他所有标记和格式化的区别似乎有些武断。 ;) - k3davis
但是在上传到 GitHub 的 Jupyter Notebook 上无法运行。 - rahul-ahuja
1
@k3davis 同意。简单的标题和强调很容易实现。似乎不需要太多的“标记”来实现文本对齐。例如,“|left”,“|centre|”和“right|”可作为纯文本阅读,当然比用于格式化表格、图像和链接的语法更加清晰明了...但是嘿,我也不会提出正式建议。 - DryLabRebel

6
对于我来说,以下hack方法可行:在顶部添加没有闭合div标签的div标签。这样可以使整个Markdown居中显示。
<div align="center">

4
在HTML5中,align属性已经被弃用。 - TechySharnav

5

当使用任何元素,比如标题时,可以使用等效的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: My Career: </h1> </span>


请注意,这个属性已经被弃用了,但是它是唯一适用于某些Markdown风格的属性,比如Github的markdown。

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