我试图将一个表集中在xsl-fo命名空间的块元素中。
以下是我的尝试:
<fo:block margin-right="auto" margin-left="auto" background-color="#eaeaea">
<fo:table margin-top="1cm" margin-left="auto" margin-right="auto" margin-bottom="1cm" width="auto">
这是输出:
如何将此表置于此块的中心?
谢谢。
答案 0 :(得分:5)
根据规范,<table>
通过在父text-align="center"
元素上使用<table-and-caption>
来居中。 <table-caption>
兄弟是可选的,可以省略,使表格成为唯一的子节点。
请注意,将text-align
放在父<block>
上是行不通的......子<table>
仍然是块级构造,不会受到影响。它必须位于父<table-and-caption>
上。
我提醒我的XSL-FO学生,他们可能希望在text-align="start"
上使用<table>
,除非他们还希望由于属性在后代构造上的继承而使表的内容居中
我应该注意一下基于我的商业工作的后记,并非所有XSL-FO处理器都支持这方面的规范。
答案 1 :(得分:2)
如果我们有十个列,那么我们可以按如下方式将表放在中心
<fo:table width="100%">
<fo:table-column column-width="10%">
<fo:table-column column-width="10%">
<fo:table-column column-width="10%">
<fo:table-column column-width="10%">
<fo:table-column column-width="10%">
<fo:table-column column-width="10%">
<fo:table-column column-width="10%">
<fo:table-column column-width="10%">
<fo:table-column column-width="10%">
<fo:table-column column-width="10%">
</fo:table>
答案 2 :(得分:1)
如果使用Apache FOP,他们会在这里解释一个表格中心技术: https://xmlgraphics.apache.org/fop/fo.html#fo-center-table-horizon