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

如何在Furo Sphinx主题的侧边栏导航TOC中实现下拉菜单?

实现Furo主题侧边栏TOC带下拉箭头的方案

一、利用Furo原生功能+自定义CSS

Furo主题本身支持侧边栏TOC的层级折叠/展开,只是默认箭头样式可能不够明显,通过自定义CSS可以强化箭头效果:

  1. 在项目的_static目录下创建custom.css(没有该目录则新建)。
  2. 修改conf.py,引入自定义样式文件:
html_static_path = ['_static']
html_css_files = [
    'custom.css',
]
  1. 在custom.css中添加以下样式,自定义箭头的外观和交互:
/* 调整侧边栏TOC箭头的基础样式 */
.furo-sidebar-tree .toctree-l1 > a > svg,
.furo-sidebar-tree .toctree-l2 > a > svg,
.furo-sidebar-tree .toctree-l3 > a > svg {
    fill: #555;
    width: 14px;
    height: 14px;
    margin-right: 4px;
    transition: transform 0.2s ease;
}

/* 展开状态下的箭头旋转效果 */
.furo-sidebar-tree .toctree-l1.expanded > a > svg,
.furo-sidebar-tree .toctree-l2.expanded > a > svg,
.furo-sidebar-tree .toctree-l3.expanded > a > svg {
    transform: rotate(90deg);
}

/* 调整目录层级缩进,让箭头更突出 */
.furo-sidebar-tree .toctree-l2 {
    padding-left: 12px;
}
.furo-sidebar-tree .toctree-l3 {
    padding-left: 24px;
}

二、配置Furo主题的导航选项

确保conf.py中的主题配置正确开启折叠功能:

html_theme_options = {
    "collapse_navigation": True,  # 默认开启,非当前页面的目录会折叠
    "navigation_with_keys": True,  # 支持键盘导航展开/折叠
}

开启后,点击目录项即可展开/折叠子目录,配合上面的CSS就能实现带箭头的下拉效果。

三、关于sphinxcontrib.fulltoc的兼容性问题

这个扩展的渲染逻辑和Furo主题的侧边栏机制冲突,会导致报错,直接移除该扩展即可,用Furo原生的TOC功能完全可以满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 21:35:24