使用restructuredText网格表设置列宽

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

我在rST中有以下网格表。我想控制HTML输出的列宽,使Field type占据表宽度的20%,Description占30%,Example占50%。

+-------------+-----------------+-----------------------+
|Field type   |Description      |Example                |
+-------------+-----------------+-----------------------+

..tablularcolumns指令没有影响,组合..table:width:也没有。例如,以下内容没有任何影响。

.. tabularcolumns:: |p{2cm}|p{3cm}|p{5cm}|

以下SO链接的答案不起作用。

How to fix column width in reStructuredText tables?

任何建议都将得到彻底的祝福。

python-sphinx restructuredtext
1个回答
2
投票

两种选择。

使用widths option表。

.. table:: This is my table
    :widths: 20 30 50

    +-------------+-----------------+-----------------------+
    |Field type   |Description      |Example                |
    +-------------+-----------------+-----------------------+

修改主题的CSS并使用:nth-child CSS伪选择器。

td:nth-child(1) {
    width: 20%;
}
td:nth-child(2) {
    width: 30%;
}
td:nth-child(3) {
    width: 50%;
}

第一个选项的输出如下:

<table border="1" class="colwidths-given docutils" id="id1">
<caption><span class="caption-text">This is my table</span><a class="headerlink" href="#id1" title="Permalink to this table">¶</a></caption>
<colgroup>
<col width="20%">
<col width="30%">
<col width="50%">
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td>Field type</td>
<td>Description</td>
<td>Example</td>
</tr>
</tbody>
</table>
© www.soinside.com 2019 - 2024. All rights reserved.