使用restructuredText网格表设置列宽

时间:2018-01-03 18:33:37

标签: python-sphinx restructuredtext

我在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?

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

1 个答案:

答案 0 :(得分: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>