我从天线屋收到以下警告。
AHFCmd :WARNING: Error Level : 2
AHFCmd :WARNING: Error Code : 10761 (2A09)
AHFCmd :WARNING: Invalid property value: column-width="proportional-column-width(4%)".从代码中
<fo:table-column column-number="1" column-width="proportional-column-width(4%)"/>网站似乎表明支持比例列宽度。
向康德问好
发布于 2020-02-17 16:48:28
proportional-column-width(4)会有用的。proportional-column-width(4%)不会。
如果希望列的宽度为可用宽度的4%,请使用column-width="4%" (参见https://www.w3.org/TR/xsl11/#column-width)。
我认为你是我见过的第一个尝试用百分比而不是用proportional-column-width()的数字的人,你刚刚让我大吃一惊。
严格阅读XSL1.1中“数值”的定义和XSL1.1建议( proportional-column-width() )中的proportional-column-width()函数原型:
数字比例-列宽(数值)
表示百分比是有效值,因为百分比是相对数字。心神不宁。想必,同一表中的每个proportional-column-width()都需要是一个相对数值,这样就可以将它们全部相加起来。然而,这可能导致一些荒谬的定义,例如:
<fo:table layout="fixed" width="100%">
<fo:table-column column=width="proportional-column-width(4%)" />
<fo:table-column column=width="proportional-column-width(4%)" />
<fo:table-body>...</fo:table-body>
</fo:table>其中两个'4%‘列各占宽度的50%。
幸运的是,对于我来说,proportional-column-width()的定义包括:
表宽和列宽之和之间的差异是可用的比例宽度。比例度量的一个单位是可用的比例宽度除以比例因子之和。
如果比例宽度都是相对数字(实际上是长度),那么可用的比例宽度除以一个长度,就会得到一个单位较少的数字。一个没有单位的数字不能作为proportional-column-width()的结果工作,所以您需要proportional-column-width()值只是数字,这样函数才能返回宽度。
https://stackoverflow.com/questions/60207391
复制相似问题