以下xsl-fo在块中显示描述和价格然后呈现为PDF文档,但是当上面的行中有足够的空间用于描述时,这两个元素在一个新行上组合在一起,最初我认为一个简单的“保持在一起”会起作用,但它没有任何区别。红色显示描述,绿色显示价格。价格应该在描述之后出现,但如果上面一行有足够的空间,它不应该与描述中的最后一个字分组。
<fo:block linefeed-treatment="preserve" line-height="8pt">
<xsl:value-of select="description" /> <xsl:call-template name="price"/>
</fo:block>
答案 0 :(得分:2)
因为您使用了NBSP,所以将价格和最后一个字粘在一起。所以你只需要在两个值之间有一个常规空间:
<fo:block linefeed-treatment="preserve" line-height="8pt">
<xsl:value-of select="description" />
<xsl:text> </xsl:text>
<xsl:call-template name="price"/>
</fo:block>
请记住使用<xsl:text>
,否则样式表中的简单空格将会丢失。
答案 1 :(得分:0)
我假设不同的元素被视为一个元素,但只需在不同的标记之前和之后放置一个空格,描述就会填充上面一行的剩余空间。
<fo:block linefeed-treatment="preserve" line-height="8pt">
<xsl:value-of select="description" />   <xsl:call-template name="price"/>
</fo:block>