如何在Markdown文件中插入多空格,使转HTML后空格不折叠
解决方案
方案1:修改渲染CSS(最彻底,适合自定义导出HTML/自有站点场景)
给HTML页面中代码块对应的<pre>、<code>标签添加如下样式即可强制保留所有空格和换行,不会被折叠:
pre, code { white-space: pre !important; }
如果是用工具导出HTML,直接在导出模板的样式段添加这段代码即可,不需要修改原.md文件内容。
方案2:调整目录格式适配渲染规则
如果无法修改CSS,可任选以下两种方式修改.md文件内的目录内容:
- 把原有缩进用的连续空格批量替换为制表符(Tab),绝大多数Markdown渲染器对代码块内Tab的保留优先级远高于普通空格,替换后层级和原有结构完全一致,不会出现缩进丢失问题。
- 改用标准树形目录符号写法,所有渲染器都能正常识别,不存在格式错乱问题,示例如下:
├── qemu-5.1.0 └── qemu_test ├── test_app │ └── include ├── test_ldd │ └── linux-5.4.0 └── test_ubuntu
你可以直接在Ubuntu 20.04终端用tree命令生成对应格式的内容:比如要输出目标目录下2层深度的结构,执行tree -L 2 /你的/目标/目录路径,直接复制输出结果到代码块即可,无需手动调整格式。
方案3:插入不可折叠的空白字符
如果必须保留原有横杠写法,可在需要缩进的位置插入Unicode非断空格(U+00A0),该字符不会被渲染器折叠:
- Ubuntu系统下按
Compose键 + 空格 + 空格即可输入 - Windows系统下按
Alt + 0160(数字小键盘输入数字)即可输入
内容的提问来源于stack exchange,提问作者Chan Kim
相关产品推荐
相关产品推荐

