如何修改Sphinx HTML输出中表格单元格的背景颜色
解决Sphinx表格交替背景问题,设置单一纯色背景
没问题,这事儿很好搞定!Sphinx默认主题(比如Read the Docs、alabaster这类)确实会给表格加上斑马纹交替背景效果,你只需要添加几行自定义CSS就能轻松覆盖这个默认样式。
下面是具体操作步骤:
创建/定位自定义CSS文件
先看看你的Sphinx项目_static文件夹里有没有custom.css文件,如果没有的话,直接新建一个就行。添加CSS规则覆盖默认样式
把下面的代码复制到custom.css中,你可以根据需求替换背景色:/* 移除默认的交替行背景效果 */ table.docutils tr:nth-child(even) { background-color: transparent; } /* 给所有表头和单元格设置统一背景色 */ /* 这里用浅灰色#f5f5f5做示例,换成你想要的颜色即可,比如white就是纯白 */ table.docutils th, table.docutils td { background-color: #f5f5f5; }如果想让表头和内容单元格用不同的纯色(比如表头深一点、内容浅一点),可以分开设置:
table.docutils tr:nth-child(even) { background-color: transparent; } /* 表头背景色 */ table.docutils th { background-color: #e0e0e0; } /* 内容单元格背景色 */ table.docutils td { background-color: #f5f5f5; }配置Sphinx加载自定义CSS
打开项目根目录的conf.py文件,找到html_css_files配置项。如果没有这个项,就添加下面的代码;如果已经存在,就把'custom.css'追加进去:html_css_files = [ 'custom.css', ]重新构建文档
运行make html(或者你平时用的其他构建命令),之后刷新浏览器页面,就能看到表格已经变成单一背景效果了!
如果偶尔遇到样式不生效的情况,大概率是选择器优先级不够,你可以临时给CSS规则加上!important应急(不推荐长期使用,优先确保选择器准确性):
table.docutils th, table.docutils td { background-color: #f5f5f5 !important; }
内容的提问来源于stack exchange,提问作者arthomas
相关产品推荐
相关产品推荐

