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

如何修改Sphinx-Doc的Read the Docs主题背景色?配置求助

搞定Read the Docs Sphinx主题背景色修改的问题

嘿,我之前也折腾过这个主题的颜色配置,确实有点绕。你遇到的问题核心在于:那个#2980B9的蓝色背景并不是靠$section-background-color定义的,而且直接改局部变量或者硬替换颜色值,很容易因为Sass的变量继承、预编译机制不生效。下面给你几个可行的解决方案:

1. 先搞清楚颜色的真正来源

那个默认的蓝色#2980B9,其实是主题的主色调变量$blue的默认值,主题里很多组件的颜色(包括你说的section背景、导航栏等)都是从这个变量衍生出来的。你之前改_theme_variables.scss(应该是你打错成_theme_variables_sass了)里的$blue没生效,大概率是两个原因:

  • 你改的不是主题实际加载的文件——比如你在项目里复制了一份变量文件,但Sphinx实际用的是Python环境site-packages里的主题源码;
  • 主题的Sass已经预编译成了静态CSS,光改Sass变量不重新编译,旧的CSS还是会被加载。

2. 最稳妥的方法:用自定义CSS覆盖(推荐)

真的不建议直接改主题源码,下次更新主题你的修改就没了。直接在自己的Sphinx项目里加自定义CSS来覆盖样式更靠谱:

  • 先在项目的_static文件夹里新建一个custom.css;
  • 打开conf.py,添加这几行配置让Sphinx加载这个自定义样式:
    html_static_path = ['_static']
    html_css_files = [
        'custom.css',
    ]
    
  • 然后用浏览器的开发者工具(按F12)定位到你要改背景的元素,比如页面内容区的背景对应的类是.wy-nav-content-wrap,侧边栏是.wy-nav-side,在custom.css里写:
    /* 修改页面内容区背景 */
    .wy-nav-content-wrap {
        background-color: #FF0000; /* 换成你想要的颜色就行 */
    }
    
    /* 如果要改侧边栏背景 */
    .wy-nav-side {
        background-color: #FF0000;
    }
    
    这样构建文档后,自定义样式会覆盖主题的默认样式,肯定生效。

3. 非要改Sass变量的话(不推荐)

如果你执着于通过修改Sass变量来实现,那得按步骤来:

  • 先找到主题的安装位置:在终端里跑pip show sphinx-rtd-theme,看Location那一行,比如/usr/local/lib/python3.10/site-packages;
  • 进入sphinx_rtd_theme/sass/目录,找到_theme_variables.scss文件;
  • 把里面的$blue: #2980B9;改成你要的颜色,比如$blue: #FF0000;;
  • 重新编译Sass成CSS:需要装Sass编译器,然后看主题目录里有没有package.json,有的话跑npm run build,没有的话直接用sass命令编译核心的Sass文件到CSS;
  • 最后重新构建你的Sphinx文档,颜色就变了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:41:35