如何对具有不同字体高度的两个块进行基线对齐?

时间:2017-12-05 14:28:31

标签: xsl-fo

我有一张有2个牢房的桌子。一个单元格包含一个数字,另一个单元格包含更大字体的文本。我想对齐两个文本的基线。我已经尝试了很多display-align,vertical-align,alignment-baseline等的组合。似乎没有什么工作:块总是对齐,就好像alignment-baseline =" center"。

<fo:table>
    <fo:table-column column-width="20mm" column-number="1"/>
    <fo:table-column column-width="100mm" column-number="2"/>
    <fo:table-body>
       <fo:table-row>
           <fo:table-cell column-number="1">
               <fo:block font-size="9pt" line-height="22pt">1.</fo:block>
           </fo:table-cell>
           <fo:table-cell column-number="2">
               <fo:block font-size="20pt"line-height="22pt">Title</fo:block>
           </fo:table-cell>
       </fo:table-row>
    <fo:table-body>
</fo:table>

我可以通过在第1列的块上添加填充来伪造正确的对齐,但我宁愿使用非破解解决方案。

1 个答案:

答案 0 :(得分:1)

使用relative-align="baseline"。见https://www.w3.org/TR/xsl11/#relative-align

由于此问题,

relative-align存在。它仅适用于fo:table-cellfo:list-item,因为它们是(或预计会是)唯一需要的地方。