在Markdown中创建没有标题的表


140

是否可以在Markdown中创建没有标题的表?

HTML看起来像这样:

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

Answers:


92

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

解析器支持没有标题的表

确实支持不带表头的表的解析器。

CSS解决方案

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


27
Github的解析器可以添加到不支持它的列表中。
Quantum7年


79

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

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

要查看上面的外观,请复制上面的内容并访问https://stackedit.io/editor

它与GitLab / GitHubMarkdown实现一起使用。


1
那可以用什么实现?它不适用于Perl的Text :: MultiMarkdown,但我认为它可以与某些PHP MultiMarkdown实现一起使用。
RedGrittyBrick 2015年

2
它与gitlab / github的markdown实现一起使用。我不确定perl的Text ::
MultiMarkdown

8
这将创建一个空表头和一个空行。
Gajus 2015年

实际上,对于pandoc降价到pdf来说效果很好。
Alex Baranowski

谢谢!这也适用于Laravel 5.8(多)降价。没有标题可见-只有一行。看起来像一个分隔线,可以使用主题中的一些CSS移除分隔线。
user2966991

17

我通过使用一个空链接将其与Bitbucket的Markdown结合使用:

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

2
还将提示一个空的标题行。至少其高度只有法线的一半。也为我在github中担任Hack
Londane '16

在Insomnia中编写文档时,此技巧对我有用。仍然会创建标题行,但是比我在其中放置文本短得多。谢谢!
jkmartindale

辉煌!我仍然可以在Github Markdown上看到一点垂直空间,但是比以前更好。
基思·贝内特

15

通用解决方案

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

在这两个流行的程序中似乎都起作用(并且可能对您的特定应用程序有效)是使用HTML comment blocks ('<!-- -->')

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

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


这完全破坏了使用Markdown的意义,因为当以纯文本形式查看时,注释将被删除,列甚至将不再对齐。
hackel

我认为@hackel被误解了。这不会使用固定宽度对齐列。相反,它提供了一个不错的解决方法,使其具有有效但空的列标题。在我的情况下,这是一个不错的解决方法。该表仍按预期/预期呈现;它根本没有标题行。
mdahlman

8

以下内容对我在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表。


5
这就是提问者说的他们不想要的。
尼尔·梅休

HTML表似乎在Bitbucket中不起作用(community.atlassian.com/t5/Bitbucket-questions/…)-它显示HTML本身而不是呈现一个表。
jsaven

7

省略分隔器上方的标题产生在至少Perl的文本:: MultiMarkdown和FletcherPenney一个无报头表MultiMarkdown

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

参见PHP Markdown功能请求


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

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

关于Parsedown的使用,实际上标题仍然在这里,只需检查HTML。如果单元格上有CSS填充,您将看到标题单元格。但是我想那table th:empty { padding: 0; }会解决这个问题。
AymDev

6

至少对于GitHub Flavored Markdown而言,您可以通过将所有非标头行条目加粗为常规格式或格式来给出错觉__**

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

我一直在寻找可以在GFM中使用的东西,而这种骇客是有创意的!
Mrchief

3
$ 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。有没有参考,我可以在其中查找甚至是否是预期的行为?
adius

@AdrianSieber我使用Kramdown,我无法谈论另一个。
史蒂文·佩妮

2

您可能能够隐藏标题,如果你可以添加以下的CSS:

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

这有点笨拙,不能区分表,但是可以完成一个简单的任务。


出于某种原因对我有用的唯一CSS技巧(我将VNote与Markdown-it渲染器一起使用)。此处给出的解决方案均无效:stackoverflow.com/questions/12023771/hide-empty-cells-in-table有效。
什么

1

<span>在第一列标题中使用:

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

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


0

@ thamme-gowda的解决方案也适用于图像!

| | |:----------------------------------------------------------------------------:| | ![](https://gravatar.com/avatar/4cc702785290b4934c531c56f6061e5e "Tonejito") |

您可以根据我为此而设计要点进行检查。这是GitHub和GitLab上的表格黑客的渲染:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.