有没有办法在单元格内部生成没有段落的html表格(使用docutils rst2html)?

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

如果我有这样的第一个:

+--------------------------------+
| Table H1                       |
+-------------+------------------+
| Table H2a   | Table H2b        |
+=============+==================+
| a1          | b1               |
+-------------+------------------+
| a2          | b2               |
+-------------+------------------+
| a3          | b3               |
+-------------+------------------+

并将其转换为html,如下所示:

python -u %PYTHONPATH3%\\Scripts\\rst2html5.py input.rst output.html

生成的html表如下所示:

<body>
    <div class="document"><blockquote><table>
        <colgroup>
            <col style="width: 42%" />
            <col style="width: 58%" />
        </colgroup>
        <thead>
            <tr><th class="head" colspan="2"><p>Table H1</p></th>
            </tr>
            <tr><th class="head"><p>Table H2a</p></th>
            <th class="head"><p>Table H2b</p></th>
            </tr>
        </thead>
        <tbody>
            <tr><td><p>a1</p></td>
            <td><p>b1</p></td>
            </tr>
            <tr><td><p>a2</p></td>
            <td><p>b2</p></td>
            </tr>
            <tr><td><p>a3</p></td>
            <td><p>b3</p></td>
            </tr>
        </tbody>
    </table></blockquote></div>
</body>

正如您所见,单元格内容放在段落标记内(<p></p>内),因此被格式化为段落而不是像我的表格在css文件中配置(例如,如果我在文本段落中添加第一行缩进)在css中,单元格内容也会收到缩进)

有没有办法在单元格内部生成没有段落的html表格(使用docutils rst2html)?

笔记:

  • 我实际上正在转换一个非常长的rst文件,所以应该首选它而不是黑客/替换html。
  • 我的列表项也会发生同样的事情,它们是在<p>标签内创建的(例如.<li><p>Something</p></li>)。
python html css restructuredtext
1个回答
1
投票

您可以使用自定义CSS覆盖<p>标记的可视间距。像这样的东西。

td > p, li > p {
    margin: 0;
}

但是,我觉得很奇怪,你的输出会在表格中生成<p>标签,因为这不是docutils所做的,假设这是rst2html5的基础。我建议你联系该图书馆的作者。

编辑:这是我使用Sphinx和你的reST示例的HTML输出:

<table border="1" class="docutils">
<colgroup>
<col width="42%">
<col width="58%">
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head" colspan="2">Table H1</th>
</tr>
<tr class="row-even"><th class="head">Table H2a</th>
<th class="head">Table H2b</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-odd"><td>a1</td>
<td>b1</td>
</tr>
<tr class="row-even"><td>a2</td>
<td>b2</td>
</tr>
<tr class="row-odd"><td>a3</td>
<td>b3</td>
</tr>
</tbody>
</table>
© www.soinside.com 2019 - 2024. All rights reserved.