阅读模式和实时阅览模式显示不一致问题

阅读模式和实时阅览模式显示不一致,阅读模式下第一行和第二行(列表行)的间距会明显变大很多,但是实时预览模式是正常的。请问这是什么原因导致的?

主题用的是blue topaz

目前还无解,编辑和览还做不到像typora一样完全一样

Obsidian 外观主题/CSS:让你一次退烧_哔哩哔哩_bilibili

Obsidian 外观CSS,一次退烧 V2.0_哔哩哔哩_bilibili

不行啊,我看过这两个视频,解决不了

这是由于 “实时预览” 生成的代码是

<div>普通段落</div>
<div>列表条目1/待办条目1/etc</div>
<div>列表条目2/待办条目2/etc</div>

而 “阅读模式” 生成的代码是

<div>
  <p>普通段落</p>
</div>
<div>
  <ul>
    <li>列表条目1/待办条目1/etc<li>
    <li>列表条目2/待办条目2/etc<li>
  </ul>
</div>

正常的主题一定会给 p 标签加 “上下 margin”, 于是看到多出来一个间隔

不完美的解决办法: Obsidian 里 给 css 添加 fix, 大概类似这种

div>p {
  margin-bottom: 0px !important;
}

注意这也会影响通篇的段落样式, 自己权衡吧

题外话, 这种

普通段落1
普通段落2 (之后只写一个换行)
- 列表条目1
- 列表条目2
- 列表条目...

写法其实不太标准, Obs 里确实效果良好,
但导出发布时, 大部分程序不能很好的展示这个结构

最好把普通段落和列表区分开:

普通段落1
普通段落2 (之后明确换行, 区分段落)

- 列表条目1
- 列表条目2
- 列表条目...
1 个赞