You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Sphinx中为csv-table指令设置样式?

Sphinx CSV表格样式自定义方法

要给Sphinx里的csv-table做样式修改,本质是通过自定义CSS控制生成后的HTML表格,下面是针对你需求的具体实现:

第一步:准备自定义样式文件

  1. 在你的Sphinx项目中新建_static目录(若已有可跳过)
  2. 在_static目录下创建custom.css文件
  3. 打开项目根目录的conf.py,添加一行配置让Sphinx加载这个样式:
    html_css_files = ['custom.css']
    

1. 修改表头背景颜色

在custom.css中添加以下代码,替换颜色值为你需要的:

table.docutils thead th {
    background-color: #2c3e50; /* 深色背景示例 */
    color: #ffffff; /* 可选:设置表头文字为白色,提升可读性 */
}

2. 设置隔行背景颜色(斑马纹效果)

给偶数行或奇数行设置不同背景,提升表格可读性:

/* 偶数行背景色 */
table.docutils tbody tr:nth-child(even) {
    background-color: #f8f9fa;
}
/* 可选:给奇数行设置默认背景 */
table.docutils tbody tr:nth-child(odd) {
    background-color: #ffffff;
}

3. 修改单个列的背景颜色

比如要修改第2列(从1开始计数)的背景,代码如下:

/* 修改表格主体第2列 */
table.docutils tbody td:nth-child(2) {
    background-color: #e3f2fd;
}
/* 可选:同时修改表头对应列的背景 */
table.docutils thead th:nth-child(2) {
    background-color: #bbdefb;
}

4. 修改单个单元格的文本颜色

方法1:按位置定位单元格

比如修改第3行第4列的文字颜色:

table.docutils tbody tr:nth-child(3) td:nth-child(4) {
    color: #dc3545; /* 红色示例 */
}

方法2:按内容定位单元格

如果要修改内容为特定值的单元格(比如内容是"10"的单元格):

table.docutils tbody td:contains("10") {
    color: #28a745; /* 绿色示例 */
}

你的原始csv-table代码:

Sphinx CSV-Table Styling
------------------------

.. csv-table:: Simple Example
   :header: a, b, c, d
   :widths: 5, 5, 5, 5

   1, 2, 3, 4
   5, 6, 7, 8
   9, 10, 11, 12
   13, 14, 15, 16

内容的提问来源于stack exchange,提问作者DocOc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 00:58:20