在 Markdown 中创建没有表头的表格

Posted

技术标签:

【中文标题】在 Markdown 中创建没有表头的表格【英文标题】:Create a table without a header in Markdown 【发布时间】:2013-07-06 08:25:09 【问题描述】:

是否可以?

html 看起来像这样:

<table>
<tr>
    <td>Key 1</td>
    <td>Value 1</td>
</tr>
<tr>
    <td>Key 2</td>
    <td>Value 2</td>
</tr>
</table>

【问题讨论】:

【参考方案1】:

大多数 Markdown 解析器不支持没有标题的表格。这意味着标题的分隔线是强制性的。

的解析器支持没有标题的表

multimarkdown Maruku:Ruby 中流行的实现 byword: “所有表格必须以一行或多行标题开头”

php Markdown Extra “第二行包含标题和内容之间的强制分隔线”

RDiscount 使用 PHP Markdown Extra 语法。

GitHub Flavoured Markdown Parsedown:PHP 中的解析器(例如在 Laravel 电子邮件中使用)

的解析器支持没有标题的表。

Kramdown: Ruby 中的解析器 Text::MultiMarkdown:Perl CPAN 模块。 MultiMarkdown:Windows 应用程序。 ParseDown Extra: PHP 中的解析器。 Pandoc:用 Haskell 编写的命令行文档转换器(通过其 simple_tablesmultiline_tables 扩展支持无标题表) Flexmark:Java 中的解析器。

CSS 解决方案

如果您能够更改 HTML 输出的 CSS,那么您可以利用 :empty 伪类来隐藏一个空标题并使其看起来像根本没有标题。

【讨论】:

更多关于 CSS 解决方案:***.com/questions/12023771/hide-empty-cells-in-table :empty 没有帮助,因为如果您只隐藏 &lt;th&gt; 它看起来不正确;您必须隐藏整个 &lt;tr&gt; 甚至整个 &lt;thead&gt;【参考方案2】:

如果您不介意将其留空而浪费一行,请考虑以下技巧(这是一种技巧,仅当您不喜欢添加任何其他插件时才使用此技巧)。

|   |   |
|---|---|
|__Bold Key__| Value1 |
| Normal Key | Value2 |

要查看上面的样子,请复制上面的内容并访问https://stackedit.io/app

它适用于 GitLab/GitHubMarkdown 实现。

【讨论】:

这适用于什么实现?它不适用于 Perl 的 Text::MultiMarkdown,但我认为它可能适用于一些 PHP MultiMarkdown 实现。 它与 gitlab/github 的 markdown 实现一起工作。我不确定 perl 的 Text::MultiMarkdown 这将创建一个空表头和一个空行。 这实际上适用于 pandoc markdown to pdf。 谢谢!这也适用于 Laravel 5.8 (multi) markdown。没有标题可见 - 只有一行。看起来像一个分隔线,可以在主题中使用一些 CSS 将其移除。【参考方案3】:

通用解决方案

不幸的是,许多建议不适用于所有 Markdown 查看器/编辑器,例如流行的 Markdown Viewer Chrome 扩展程序,但它们确实适用于 iA Writer。

似乎在这两个流行程序中都有效(并且可能适用于您的特定应用程序)是使用HTML comment blocks ('&lt;!-- --&gt;')

| <!-- -->    | <!-- -->    |
|-------------|-------------|
| Foo         | Bar         |

就像前面提到的一些建议一样,这确实会在您的 Markdown 查看器/编辑器中添加一个空的标题行。在 iA Writer 中,它在美学上足够小,不会妨碍我太多。

【讨论】:

这完全否定了使用 Markdown 的意义,因为当仅查看文本时,cmets 将被剥离,列甚至不再对齐。 我认为@hackel 误解了。这不会使用固定宽度对齐列。相反,它提供了一个很好的解决方法,即拥有有效但为空的列标题。在我的情况下,这是一个很好的解决方法。该表仍按预期/预期呈现;它根本没有标题行。 不错,不过this really isn't a universal solution 这将创建一个空表头和一个空行。 @Tony 将标题单元格留空不是更好吗?【参考方案4】:

我通过使用空链接来使用 Bitbucket 的 Markdown:

[]()  | 
------|------
Row 1 | row 2

【讨论】:

还会提示一个空的标题行。至少它只有正常线高度的一半。也为我在 github 中作为 Hack 工作 在 Insomnia 中编写文档时,这个 hack 对我有用。仍然会创建一个标题行,但它比我在其中放置文本要短得多。谢谢! 太棒了!我仍然看到 Github Markdown 有一点垂直空间,但比以前好多了。【参考方案5】:

至少对于GitHub Flavoured Markdown,您可以给人一种错觉,方法是使用常规__** 使所有非标题行条目粗体格式:

|Regular | text | in header | turns bold |
|-|-|-|-|
| __So__ | __bold__ | __all__ | __table entries__ |
| __and__ | __it looks__ | __like a__ | __"headerless table"__ |

【讨论】:

我一直在寻找可以在 GFM 中使用的东西,而这个 hack 很有创意! 呈现表格的标题行颜色不同时会出现问题(例如 StackExchange)。【参考方案6】:

省略分隔线上方的标题会在至少 Perl Text::MultiMarkdown 和 FletcherPenney MultiMarkdown 中生成一个无标题表

|-------------|--------|
|**Name:**    |John Doe|
|**Position:**|CEO     |

见PHP Markdown feature request


PHP Parsedown 中的空标题生成带有空标题的表格,这些表格通常不可见(取决于您的 CSS),因此看起来像无标题表格。

|     |     |
|-----|-----|
|Foo  |37   |
|Bar  |101  |

【讨论】:

关于Parsedown的使用,其实header还在,查看HTML即可。如果您在单元格上有 CSS 填充,您将看到标题单元格。但我猜table th:empty padding: 0; 会解决这个问题。【参考方案7】:

以下内容在 GitHub 中对我很有效。第一行不再是粗体,因为它不是标题:

<table align="center">
    <tr>
        <td align="center"><img src="docs/img1.png?raw=true" ></td>
        <td align="center">Some other text</td>
        <td align="center">More text</td>
    </tr>
    <tr>
        <td align="center"><img src="docs/img2.png?raw=true" ></td>
        <td align="center">Some other text 2</td>
        <td align="center">More text 2</td>
    </tr>
</table>

检查没有标题here 的示例 HTML 表格。

【讨论】:

这正是提问者说他​​们不想要的。 HTML 表格在 Bitbucket (community.atlassian.com/t5/Bitbucket-questions/…) 中似乎不起作用 - 它显示 HTML 本身而不是呈现表格。【参考方案8】:

如果您可以添加以下 CSS,则可以隐藏标题:

<style>
    th 
        display: none;
    
</style>

这有点笨拙,不区分表格,但它可能适用于简单的任务。

【讨论】:

唯一对我有用的 CSS 技巧(我正在使用带有 Markdown-it 渲染器的 VNote)。这里给出的解决方案都没有:***.com/questions/12023771/hide-empty-cells-in-table 工作。【参考方案9】:
$ cat foo.md
Key 1 | Value 1
Key 2 | Value 2
$ kramdown foo.md
<table>
  <tbody>
    <tr>
      <td>Key 1</td>
      <td>Value 1</td>
    </tr>
    <tr>
      <td>Key 2</td>
      <td>Value 2</td>
    </tr>
  </tbody>
</table>

【讨论】:

这似乎不适用于 github.com/chjj/marked 。是否有参考,如果这甚至是预期的行为,我可以在其中查找?【参考方案10】:

我在第一列标题中使用&lt;span&gt;

 <span> |
---     |    ---
Value   |  Value
Value   |  Value

它创建一个带边框的空标题,但大小为 1/2。

【讨论】:

【参考方案11】:

在 GitHub 问题编辑器中起作用的是

&nbsp; |&nbsp;
------ | ---
Foo    | Bar

但它确实显示了一个空标题

【讨论】:

以上是关于在 Markdown 中创建没有表头的表格的主要内容,如果未能解决你的问题,请参考以下文章

使用 KnitR 以编程方式在 R 中创建 Markdown 表

有道笔记mark down如何定义表格大小

学习总结Markdown 使用-表格及其居中等格式

以编程方式在 Markdown 中创建选项卡和绘图

我可以在 Markdown 中创建带有 'target="_blank"' 的链接吗?

markdown文档表格