[英]Struggling with some margin in a table in XSL generated FO document
希望到目前為止,大家度過了愉快的假期!
我目前正在研究從DocBook到apache fo(然后再到PDF)的XSLT轉換,但是我在為一張桌子苦苦掙扎。
這是我的樣式表的相關部分。
<fo:block>
<fo:table border-style="none" border-width="0pt">
<fo:table-column column-width="20%"/>
<fo:table-column column-width="80%"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell border-style="solid" border-width="1pt" text-align="start" padding-left="0cm">
<fo:block font-weight="bold">First Column <xsl:text> </xsl:text> <xsl:number level="multiple" count="d:appnote" format="1"/>
</fo:block>
</fo:table-cell>
<fo:table-cell border-style="solid" border-width="1pt" text-align="start">
<fo:block><xsl:value-of select="d:description" /></fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
不幸的是,結果表在表的左邊框和文本開頭之間顯示了相當大的邊距(即使我設置了padding-left =“ 0cm”)
我嘗試了十二種不同的屬性和選項,但無法擺脫這種空白。
有人給我小費嗎?
start-indent
屬性由設置該屬性的子元素的后代FO元素繼承 ,這有時會導致一些違反直覺的結果。
顯然並非所有實現方式都具有相同的行為,因此FOP的站點上有一個特定的FAQ條目: 當我使用邊距時,嵌套表或塊容器中的內容會縮進兩次。 這是錯誤嗎?
因此,在您的情況下,表格單元格的內容很可能繼承了祖先元素(甚至是非常遠的元素)上設置的start-indent
。
如果是這種情況,您可以在fo:table-body
上添加一個start-indent="0pt"
屬性,以將其“重置”為0。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.