xsl-fo - 如何在表格中的单个单元格内将某些文本居中对齐,将某些文本右对齐
问题描述
如何将一些文本居中对齐,一些文本右对齐在表格中的单个单元格内的同一行中仅在 XSL-FO 中。
解决方案
如果您确实需要将居中文本和右对齐文本放在同一个中,则可以在两个元素之间fo:table-cell
使用负空格fo:block
将它们明显地放在同一行上:
<fo:table-cell>
<fo:block text-align="center" space-after="-14.4pt">in the center</fo:block>
<fo:block text-align="right">to the right</fo:block>
</fo:table-cell>
这应该可行(我用 FOP 对其进行了测试),但它可能被认为是一个肮脏的把戏;的确切值space-after
取决于第一个块的行高,默认为 1.2 * 字体大小(本身默认为 12pt),因此您可能必须根据您的具体情况计算正确的值。
但是,我认为在很多情况下你可以
- 使用 3 列表,第一个和第三个具有相同的宽度
- 将居中的文本放在第二个单元格中
- 将右对齐文本放在第三个单元格中
- 仅在表格行之外定义边框,因此三个单元格在输出中显示为一个单元格。
(正如托尼·格雷厄姆(Tony Graham)已经评论的那样,对所需输出的更精确描述,或者甚至更好的显示它的图像,将有助于为您的情况提出正确的答案)
推荐阅读
- javascript - 使用电子伪造打包应用程序时出现问题“无法解析'./→'”
- reactjs - redux 工具包中的变异状态
- xml - 如何在 Powershell 中显示整个 XML 树?
- asp.net-core - 将外部样式表页面分配给 .core Web 应用程序中的剃须刀页面
- laravel - Laravel snappy 返回 Failed to load about:blank, with network status code 301 and http status code 0 - 协议“about”未知错误
- java - 这是解决这个“oneFiveSeven”递归问题的正确方法吗?(不希望有效率)
- c# - 如何在 ASP.NET Core 中注册此依赖项?
- c++ - 具有相同复制值的类型转换问题到新数组类型
- elixir - 使用数据加载器批量加载苦艾酒中的字段
- javascript - 如何检查是否没有选定的值然后选择第一项?