如何在Markdown块引用中实现首行大字号+每行单换行的紧凑排版?
如何在Markdown块引用中实现首行大字号+每行单换行的紧凑排版?
嘿,我太懂你这种被Markdown默认间距坑到抓狂的感觉了!毕竟Stack Overflow的Markdown规则有时候确实有点“死板”,不过咱们可以用HTML元素+行内样式的组合完美解决这个问题,亲测有效哦~
核心思路其实很简单:干掉标题元素默认的大下边距,同时让后面的内容避免被解析成独立段落,这样就能实现紧凑的单换行效果。给你几个靠谱的写法:
写法一:调整标题边距+
强制换行
这是最直接的方案,用行内样式把
的默认大边距改小,再用
实现单换行:
实现单换行:
> <h1 style="margin-bottom: 0.2em;">BIG CHART TITLE</h1> > small-font metric 1<br> > small-font metric 2<br> > small-font metric 3
这里的margin-bottom: 0.2em是关键,把
自带的超大下边距压缩到最小,后面的
会在块引用里生成纯粹的单换行,不会触发段落间距。
会在块引用里生成纯粹的单换行,不会触发段落间距。
写法二:用自定义每行样式
如果不想用
标签,直接用来控制首行字号和每行的块级显示,灵活性更高:
> <span style="font-size: 2em; display: block; margin-bottom: 0.1em;">BIG CHART TITLE</span> > <span style="display: block;">small-font metric 1</span> > <span style="display: block;">small-font metric 2</span> > <span style="display: block;">small-font metric 3</span>
display: block让每个单独占一行,font-size: 2em把首行字号放大,margin-bottom控制首行和后面的间距,完全按照你的需求来。
写法三:用统一包裹小字号内容
如果后面的内容都是小字号,用包裹更省心,不用单独调整每个行的字号:
> <h1 style="margin-bottom: 0.1em;">BIG CHART TITLE</h1> > <small>small-font metric 1<br> > small-font metric 2<br> > small-font metric 3</small>
会自动把里面的内容设为小字号,内部的
负责紧凑换行,标题的边距依然用行内样式压缩,效果一样完美。
为啥之前的方法都失败了?
- 用纯#标题的话,#生成的标题元素自带上下外边距,Markdown会把它和后面的>行解析成两个独立段落,间距自然大;
- 单独在每个>行加
,每个>行本身就是一个段落,段落之间的默认间距还是会存在; - 空的>行直接会被解析成空段落,间距当然更大。
这些写法在Stack Overflow里都能完美渲染出你想要的效果:首行大字号,后面内容正常大小,每行之间只有单换行的紧凑间距,再也不用折腾非-breaking空格啦~
内容来源于stack exchange
相关产品推荐
相关产品推荐

