RestructuredText文档枚举列表行距不一致的简易解决方法咨询
解决RST枚举列表行距不一致的简易办法
Hey Robert, 我之前也踩过这个RST列表行距的坑!给你几个简单直接的解决办法,亲测好使:
自定义CSS(HTML输出场景,比如Sphinx)
如果你的文档是生成HTML格式(比如用Sphinx构建),加自定义CSS是最省心的方式:- 在项目
_static目录下新建custom.css文件,写入以下样式:/* 统一枚举列表的项间距和行高 */ ol li { margin-bottom: 0.6em; /* 控制列表项之间的垂直间距,可按需调整 */ line-height: 1.7; /* 控制列表项内部文本的行高,保持一致 */ } /* 消除列表项内嵌套段落的额外间距 */ ol li p { margin-top: 0; margin-bottom: 0; line-height: inherit; } - 在Sphinx的
conf.py里配置加载这个CSS:html_css_files = ['custom.css']
这样所有枚举列表的行距就能保持统一了。
- 在项目
RST类指令配合样式(跨输出格式)
如果你需要兼顾HTML和PDF等多种输出,可以给目标列表添加自定义类,再针对性设置样式:.. class:: uniform-ol 1. 第一项内容,行距将被统一控制 2. 第二项内容,和上一项保持一致的间距 3. 第三项内容,即使嵌套了其他元素也不会乱然后在CSS(HTML)或PDF样式文件中,给
.uniform-ol ol li设置统一的margin和line-height规则即可。检查嵌套元素的默认样式
有时候行距不一致是因为列表项里嵌套了段落、代码块或其他元素,这些元素自带的margin/padding会打乱行距。比如RST里如果列表项内容换行成了段落,默认会有额外间距,这时候就需要像第一个办法里那样,给嵌套的p标签清零上下边距,继承列表的行高。
内容的提问来源于stack exchange,提问作者Robert_LY
相关产品推荐
相关产品推荐

