全角 Markdown 表格

问题描述 投票:0回答:2

到目前为止,我已经在 Markdown 表格中对文本进行了格式化和居中,但在控制表格相对于外部容器的尺寸方面我没有发现任何东西(至少除了当它太大时它会自动收缩这一事实之外)通过换行文本。)

是否可以在 Markdown 中创建一个拉伸至可用全宽的表格?如果是这样,你如何实现这一目标?

markdown github-flavored-markdown
2个回答
20
投票

为表格定义 CSS 样式:

table {
    width:100%;
}

正如Markdown规则所述:

Markdown 的语法只有一个目的:用作一种格式 用于网络写作。

Markdown 并不能替代 HTML,甚至不能替代 HTML。 ... 这 Markdown 的想法是让阅读、写作和编辑散文变得容易。 HTML 是一种发布格式; Markdown 是一种书写格式。因此, Markdown 的格式化语法仅解决可 以纯文本形式传达。

由于 Markdown 是一种“写作格式”,而不是一种发布格式,因此它不提供“样式”文本的方法。当然,默认情况下,Markdown 会生成 HTML,因此要问的适当问题是如何在 HTML 中实现您想要的样式。答案是使用 CSS 将宽度设置为

100%
(请参阅 HTML 表格跨越整个宽度)。

下一个问题是如何让输出使用该 CSS 定义。答案取决于 Markdown 的渲染方式和位置。如果您拥有完全控制权,那么您可能会将该 CSS 规则包含在您网站的现有 CSS 规则中。至少,您可以将该规则包含在文档的

<style>
中的
<head>
标记中。

如果您无法控制整个页面,那么您可以简单地在 Markdown 本身的某个位置包含一个样式标签。 Markdown 不加修改地传递 HTML,因此不会破坏任何内容。像这样:

<style>
    table {
        width: 100%;
    }
</style>

还可以选择在 HTML

<table>
标记中内联定义样式,但这仅在您手动制作 HTML 时才有效。如果您希望 Markdown 为您生成 HTML,那么这不是一个有用的选项。

最后,如果您的 Markdown 是由第三方网站(例如 Stack Overflow 或 GitHub)呈现的,则该网站可能采取了各种安全措施,这将使所有这些选项变得不可能。例如,请参阅是否可以在 GitHub gist Markdown 的中心放置一个表格?


10
投票

正如 Waylan 所说,Markdown 关心的是内容,而不是表现形式。如果您可以控制内容的呈现位置和呈现方式,他的解决方案将会起作用。

但在某些情况下,例如在 GitHub 上,您没有此控制权。作为其 Markdown 渲染管道的一部分:

HTML 已被清理,积极删除可能伤害您和您的亲属的内容,例如

script
标签、内联样式和
class
id
属性。

在 GitHub 上,您必须遵守 GitHub 的渲染规则。

© www.soinside.com 2019 - 2024. All rights reserved.