我正在写一个带有标题和 fo:leader 的简单块,下面是示例代码:
<fo:block font-weight="bold" font-size="4.3mm">
Methods
<fo:leader leader-pattern="rule" rule-thickness=".5mm" leader-length="267mm" color="cmyk(0,0,0,1)"/>
</fo:block>
所以我的期望是文本将作为标题和规则出现在标题下方,但我看到“方法”和规则之间有明显的空间
附上样品;我在屏幕截图中用向下箭头突出显示了空间:
我可以用
fo:block
或fo:leader
中的什么规格来删除那个空间?
fo:leader
是一个内联 FO。一个较短的领导者通常会紧跟其前面的文本;类似于:“方法_____”。因为你的 leader-length
被固定到,大概是身体区域的宽度,领导者被迫到下一行。
你看到的空间是因为领导者在下一行的字母基线上,就像它与文本在同一行时一样。 @MartinHonnen 的解决方案将规则移动到其行空间的顶部,但在移动的领导者下方仍有空白行的空间。在
fo:block
之后的 fo:block
和领导者看起来像它前面有一个空行(这可能是你想要的)。
其他可能的解决方案包括:
border-bottom
上设置fo:block
而不是使用fo:leader
line-height
上设置font-size
和/或fo:leader
,这样占用的空间更少fo:block
代替fo:leader
并设置line-height
、font-size
、space-before
和/或space-after
以获得您想要的效果。