最可靠的方式是编辑~/.jupyter/custom/custom.css(Windows为C:\Users\<用户名>\.jupyter\custom\custom.css),通过CSS选择器精准控制代码区(.CodeMirror pre)、Markdown区(.rendered_html)和输出区(.output_subarea pre)的字体、大小及行高,并需添加!important确保生效,修改后须彻底重启Jupyter进程。

直接改 custom.css 最稳,别碰核心源码文件
改 Jupyter Notebook 字体大小和类型,最可靠的方式是编辑 ~/.jupyter/custom/custom.css(Windows 是 C:\Users\<username>\.jupyter\custom\custom.css</username>)。很多教程让你去改 codemirror/lib/codemirror.css 或 notebook/static/components/codemirror/...,那是硬编码路径,升级 notebook 后极易被覆盖,改了白改。
常见错误现象:改完重启 Jupyter 没生效 → 多半是路径错、文件名错(比如写成 custom.csss)、或没重启服务(不是只刷新网页)。
-
custom目录不存在就手动创建,确保层级是.jupyter → custom → custom.css - 文件必须叫
custom.css,不能是style.css或带 BOM 的 UTF-8 编码(用 VS Code 或 Notepad++ 保存为 UTF-8 无 BOM) - 修改后必须彻底关闭所有 Jupyter 进程(
Ctrl+C或任务管理器杀掉python和jupyter-notebook进程),再重新启动
.CodeMirror pre 控制代码区字体,.rendered_html 控制 Markdown 渲染区
不同区域要用不同 CSS 选择器,光改一个地方,只会局部生效。比如只改 .CodeMirror pre,代码单元格变大了,但下面的输出文字、Markdown 格式文本还是小的。
推荐最小可用配置(粘贴进 custom.css 即可):
/* 代码编辑区 */
.CodeMirror pre {
font-family: "Fira Code", "Consolas", "Courier New", monospace !important;
font-size: 14px !important;
line-height: 1.4 !important;
}
<p>/<em> Markdown 输出区 </em>/
.rendered_html {
font-family: "Segoe UI", "Microsoft YaHei", sans-serif !important;
font-size: 15px !important;
}</p><p>/<em> 输出结果区(如 print()、DataFrame 表格) </em>/
.output_subarea pre,
.output_subarea div {
font-size: 14px !important;
}注意:!important 是必须加的,否则会被 Jupyter 内置样式覆盖;line-height 建议设为 1.3–1.5,否则字太挤或太松;中文字体建议 fallback 到 sans-serif,避免某些系统缺字报错。
用 jupyterthemes 快速换主题+字体,但别依赖它调细粒度
jupyterthemes 确实能一键换暗色主题、改字体大小,命令像 jt -t oceans16 -f fira -fs 14 很方便。但它本质是批量生成并覆盖 custom.css,每次执行都会重写整个文件 —— 如果你之前手动加过注释、调整过行高或输出区样式,会被清空。
使用场景适合:刚装好 notebook,想快速获得一套协调的暗色主题 + 可读字体;不适合:已定制过 CSS、或需要单独调注释字号、表格行高等细节。
- 安装后首次运行
jt -l查主题列表,jt -t grade3切亮色主题 - 想保留自己写的 CSS?先备份
custom.css,再用jt,最后把备份里有用的片段手动合并回去 -
jt -r恢复默认,但不会自动删掉你手写的custom.css,得自己清空内容或删文件
浏览器缩放只是临时方案,别当正式设置用
用 Ctrl + 放大整个页面,确实能让字“看起来”变大,但它放大了所有东西:菜单栏、按钮、侧边栏、甚至 cell 边框线,UI 元素比例全乱,长期使用眼睛更累。而且换个设备或分享 notebook 给别人,效果完全不一致。
真正影响可读性的,是代码区的等宽字体渲染质量、行高、字符间距。这些只有 CSS 能精确控制。Chrome 插件如 Dark Reader 只改背景色,不解决字体本身丑或小的问题;Edge / Firefox 没对应插件时,就彻底失效。
一句话:浏览器缩放 = 应急手段;custom.css = 生产环境唯一靠谱路径。


















