如何消除fo:block内文本与fo:leader之间的自动空白?
解决FO标题与规则间的空白问题
1. 移除文本前后的多余空格
你代码里的「Methods」前后存在手动添加的空格,直接删掉这些空格,就能消除因文本留白导致的间隙:
<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>
2. 调整fo:block的内边距与外边距
如果仍有间隙,通过设置fo:block的内边距和外边距为0,消除块元素自带的默认间距:
<fo:block font-weight="bold" font-size="4.3mm" padding-top="0" padding-bottom="0" margin-top="0" margin-bottom="0">Methods<fo:leader leader-pattern="rule" rule-thickness=".5mm" leader-length="267mm" color="cmyk(0,0,0,1)"/></fo:block>
3. 优化fo:leader的对齐与间距属性
给fo:leader添加space-before="0"消除前置间隙,搭配alignment-adjust="baseline"让规则与文本基线对齐,进一步贴合:
<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)" space-before="0" alignment-adjust="baseline"/></fo:block>
4. 替代方案:用border-bottom实现规则
如果只是需要标题下方的一条规则,直接给fo:block设置底部边框更简洁,彻底避免间隙问题:
<fo:block font-weight="bold" font-size="4.3mm" border-bottom-width=".5mm" border-bottom-style="solid" border-bottom-color="cmyk(0,0,0,1)" padding-bottom="0" margin-bottom="0">Methods</fo:block>
内容的提问来源于stack exchange,提问作者Rito Sarkar
相关产品推荐
相关产品推荐

