如何在 XSL-FO 中的表行之间应用空间?

Posted

技术标签:

【中文标题】如何在 XSL-FO 中的表行之间应用空间?【英文标题】:How to apply space between table rows in XSL-FO? 【发布时间】:2013-10-01 21:42:36 【问题描述】:

在我的情况下,我必须在两个表格行之间提供最多 0.5 厘米的空间。我该如何实现它。

代码::

我用过:

<fo:table-row space-before="0.5cm" keep-together.within-column="always">                                                            

但它不起作用,但我在表中使用的相同属性

<fo:table  space-before="0.5cm" border="solid 0.1mm black">

在这里有效(如果两个表之间有空间) 请告诉我解决方案

【问题讨论】:

【参考方案1】:

Kevin 的解决方案通过在单元格边框和它的内部内容之间添加一些空间来工作。在某些情况下,这可能就足够了。 但是正确的解决方案(如果您有带有可见边框的表格,只有一个)是恕我直言,改为使用 border-separation\border-spacing 属性:

&lt;fo:table border-collapse="separate" border-separation="3pt"&gt;...&lt;/fo:table&gt; 这将在行和列方向的相邻单元格边界之间添加 3pt 空间。

还有CSS“速记”属性border-spacing:

&lt;fo:table border-collapse="separate" border-spacing="5pt 2pt"&gt;...&lt;/fo:table&gt; 这将在列之间增加 5pt 空间,在行之间增加 2pt 空间。

编辑:改写了关于凯文回答正确性的论点。添加了规范的链接。添加了边框间距替代方案和示例如何为行\列指定不同的空间。

【讨论】:

如果我只想要一行怎么办? @user271996 我认为不可能使用这种技术(与 html 表格相同)。如果您没有可见的边框,您可以添加一个或多个空行。在其他情况下,将表拆分为两个表... @bajrangi 此答案应标记为对您问题的回答(使用绿色标记)。【参考方案2】:

在表格单元格内的块上使用填充。

【讨论】:

错了。不起作用是不正确的,与您作为解决方案发布的结果不同的结果当然是正确的。也就是说,如果您在表格单元格上有边框并假设 OP 想要它们,但不是在表格上,这是 OP 放置边框的唯一位置。桌子上的边框仅在桌子周围绘制。我没有假设 OP 在单元格边界方面想要什么。

以上是关于如何在 XSL-FO 中的表行之间应用空间?的主要内容,如果未能解决你的问题,请参考以下文章

如何在jQuery中获取对具有特定值的表行的引用

如何在 aspx 页面回发期间使用 JQuery 维护切换打开的表行的状态?

如何删除特定类的表行? [关闭]

如何从 BeautifulSoup ( Python ) 中的表中获取第一个子表行

如何在Objective C的表视图中仅显示具有内容的表行

如何使用单个查询获取存储在不同变量中的多个表行的计数?