FO 列表块更改样式
FO List Block change style
我正在使用 XSL FO 列表块来显示要点。是否可以更改 list-style-type 以显示正方形(或其他形状)?在HTML中是<ul style="list-style-type:square;">
代码:
<fo:list-block>
<fo:list-item>
<fo:list-item-label>
<fo:block>*</fo:block>
</fo:list-item-label>
<fo:list-item-body>
<fo:block>Volvo</fo:block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label>
<fo:block>*</fo:block>
</fo:list-item-label>
<fo:list-item-body>
<fo:block>Saab</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
将您想要的字符替换为 *
:
<fo:list-item-label>
<fo:block color="blue" font-weight="bold" font-size="1.3em">✪</fo:block>
</fo:list-item-label>
与 <ul style="list-style-type:square;">
相比,这看起来工作量很大,但是:
- 您通常只需要这样做一次,因为您是使用 XSLT 生成 XSL-FO
- 您可以完全控制列表项标签的内容、大小、重量、颜色、对齐方式(参见
relative-align
: https://www.w3.org/TR/xsl11/#relative-align)和位置(而且,如上所述,您通常只需要设置一次)
- 如果需要,您可以通过在 XSLT
中使用 position()
来更改每个列表项的项目符号颜色等
- 当您查看编号列表项时,您会发现
xsl:number
可以轻松生成用于列表项标签的分层编号。 (如果您使用的是 AH Formatter,您还可以使用一组预定义的计数器样式:https://www.antennahouse.com/product/ahf66/ahf-ext.html#axf.counter-style。)
我正在使用 XSL FO 列表块来显示要点。是否可以更改 list-style-type 以显示正方形(或其他形状)?在HTML中是<ul style="list-style-type:square;">
代码:
<fo:list-block>
<fo:list-item>
<fo:list-item-label>
<fo:block>*</fo:block>
</fo:list-item-label>
<fo:list-item-body>
<fo:block>Volvo</fo:block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label>
<fo:block>*</fo:block>
</fo:list-item-label>
<fo:list-item-body>
<fo:block>Saab</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
将您想要的字符替换为 *
:
<fo:list-item-label>
<fo:block color="blue" font-weight="bold" font-size="1.3em">✪</fo:block>
</fo:list-item-label>
与 <ul style="list-style-type:square;">
相比,这看起来工作量很大,但是:
- 您通常只需要这样做一次,因为您是使用 XSLT 生成 XSL-FO
- 您可以完全控制列表项标签的内容、大小、重量、颜色、对齐方式(参见
relative-align
: https://www.w3.org/TR/xsl11/#relative-align)和位置(而且,如上所述,您通常只需要设置一次) - 如果需要,您可以通过在 XSLT 中使用
- 当您查看编号列表项时,您会发现
xsl:number
可以轻松生成用于列表项标签的分层编号。 (如果您使用的是 AH Formatter,您还可以使用一组预定义的计数器样式:https://www.antennahouse.com/product/ahf66/ahf-ext.html#axf.counter-style。)
position()
来更改每个列表项的项目符号颜色等