有可能在Markdown中创建一个没有标题的表吗?

HTML看起来是这样的:

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

当前回答

<style>
    .headerless th {
        display: none;
    }
</style>

<div class="headerless">

| | |
|---|---|
|Some |table |
| WITHOUT | header |
</div>

|This|is|
|---|---|
|Some |table |
| WITH |header |

其他回答

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

不支持无头表的解析器

multimarkdown Maruku: Ruby中流行的实现 俗语:“所有表必须以一行或多行标题开头” PHP Markdown额外“第二行包含一个强制性的分隔线之间的标题和内容” RDiscount使用PHP Markdown Extra语法。 GitHub调味Markdown Parsedown: PHP中的解析器(例如在Laravel电子邮件中使用)

支持无头表的解析器。

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

CSS解决方案

如果你能够改变HTML输出的CSS,你可以利用:empty伪类来隐藏一个空头,使它看起来根本没有头。

什么工作在GitHub问题编辑器是

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

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

<style>
    .headerless th {
        display: none;
    }
</style>

<div class="headerless">

| | |
|---|---|
|Some |table |
| WITHOUT | header |
</div>

|This|is|
|---|---|
|Some |table |
| WITH |header |

以下工作很好为我在GitHub。第一行不再是粗体,因为它不是一个标题:

<table align="center">
    <tr>
        <td align="center"><img src="docs/img1.png?raw=true" alt="some text"></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" alt="some text"></td>
        <td align="center">Some other text 2</td>
        <td align="center">More text 2</td>
    </tr>
</table>

在这里查看一个没有标题的HTML表示例。

你可以隐藏一个标题,如果你可以添加以下CSS:

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

这有点笨重,并且没有区分表,但是对于一个简单的任务来说可以做到。

更新

HTML输出在Markdown编辑器之间是不同的,但是如果表格包含了一个标题元素,你可以更具体地针对空标题单元格:

thead th:empty {
    border: thin solid red !important;
    display: none;
}

如果标题行不包含可见内容,则此方法有效。条形之间的空格是可以的。