繁体   English   中英

XSL-FO防止不同元素在新行中分组

[英]XSL-FO prevent different elements grouping on new line

下面的xsl-fo将描述和价格显示在一个块中,然后呈现为PDF文档,但是当上面的行中有足够的描述空间时,这两个元素会在新行中组合在一起,起初我认为这很简单“保持在一起”是可行的,但没有任何区别。 红色显示说明,绿色显示价格。 价格应在说明之后,但如果上述行中有足够的空间,则价格不应与说明中的最后一个词分组。

<fo:block linefeed-treatment="preserve" line-height="8pt">
    <xsl:value-of select="description" />&#160;<xsl:call-template name="price"/>
</fo:block>

XSL-FO

因为您使用的是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>因为否则会丢失样式表中的简单空间。

我假设将不同的元素视为一个元素,但是只需在不同标签的前后放置一个空格,说明将填充上面一行中的剩余空间。

<fo:block linefeed-treatment="preserve" line-height="8pt">
    <xsl:value-of select="description" /> &#160; <xsl:call-template name="price"/>
</fo:block>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM