- SignalDesk1小时前
这是一个困扰我多年的问题: 在引用块( > 语法)内部末尾包含行内代码( Stopped 、 Running )时: 行内代码圆角灰色背景块的底部明显 超出了引用块浅色背景的下边界 。 如图所示非常明显。 首先想到的是 code styler 中修改 inline code padding (这个插件年久失修,bug奇多,我的另一个帖子讲述了如何修复阅读模式下行号和右侧code block错位的问题) 减小这个确实有帮助,但是还不够整齐。 在Gemini3.8Flash的帮助下,成功修复了问题(这个模型很强!) 具体思路就是要扩展 quote 块上下的 padding,但是注意 CodeMirror 6 是基于行(Line-based DOM)渲染的,每一行文本都是一个单独的 .HyperMD-quote,所以要保持编辑模式下行内距离为0,只有首末行才有padding。 同时我的脚本还一定程度上缓解了一个历史遗留问题,即编辑模式和阅读模式布局不一样的问题,在CSS中设置两种模式padding都是6px,比对发现quote块阅读和编辑模式保持一致了,看起来舒服多了。 [!success]+ 楼主 代码放在这,欢迎大家讨论 / ========================================================================== 优化 Obsidian 行内代码与引用块排版样式 修复问题: 1. 行内代码背景过高超出引用块底边 2. 编辑视图下引用块内部多行之间行距被异常撑大的问题 ========================================================================== / / -------------------------------------------------------------------------- 一、行内代码尺寸与对齐优化(从根源消除背景下沉与溢出) -------------------------------------------------------------------------- / .markdown-rendered :not(pre) > code, .cm-s-obsidian span.cm-inline-code:not(.cm-formatting) { / 1. 将上下内边距降为极低值(约 1px / 0.02em),使背景色块紧贴文字,不向下凸出 / padding-top: 0.02em !important; padding-bottom: 0.02em !important; / 保持左右合理的文字留白 / padding-left: 0.3em !important; padding-right: 0.3em !important; / 2. 微调基线对齐:略微上移(0.08em),补偿中英文等宽字体(如 Maple Mono)Descender 偏大带来的下沉问题 / vertical-align: 0.08em !important; / 3. 紧凑行高,避免行内元素撑大外部 line-box / line-height: normal !important; } / -------------------------------------------------------------------------- 二、引用块(Blockquote)留白与行距优化 -------------------------------------------------------------------------- / / 1. 阅读视图(Reading View):作为一个统一容器,整体上下留白,内部段落行距不受影响 / .markdown-rendered blockquote { padding-top: 6px !important; padding-bottom: 6px !important; padding-left: 12px !important; padding-right: 10px !important; } / 2. 实时预览编辑视图(Live Preview / CodeMirror 6): 注意:CodeMirror 6 是基于行(Line-based DOM)渲染的,每一行文本都是一个单独的 .HyperMD-quote。 必须重置行与行之间的内部 padding 为 0,彻底消除内部多行之间的异常大行距! / .markdown-source-view.mod-cm6 .HyperMD-quote { padding-top: 0 !important; padding-bottom: 0 !important; } / 3. 精准边距增强:利用现代 CSS 选择器,仅对引用的【首行】和【末行】增加外侧安全边距,内部行绝不增加间距 / / 仅引用首行:增加顶部留白 / .markdown-source-view.mod-cm6 .HyperMD-quote:not(.HyperMD-quote + .HyperMD-quote) { padding-top: 6px !important; } / 仅引用末行:增加底部留白(利用现代 Chromium / Electron 原生支持的 :has 选择器) / .markdown-source-view.mod-cm6 .HyperMD-quote:not(:has(+ .HyperMD-quote)) { padding-bottom: 6px !important; } 1 个帖子 - 1 位参与者 阅读完整话题
- 情报分类:技术学习与提效
- 分类依据:内容涉及技术、AI、软件工具或工程实践
- 信息来源:服务器 / LINUX DO - 最新话题
- 发布时间:2026/9/27 15:56:09
- 暂无回复