2

这是我的问题,我有一张这样的桌子

这是一个列标题 (A) | 另一个列标题 (B) | 页眉 (C) | 另一列标题 (D)
-------------------------------------------------- ------------------------------------------------
值 A | 价值 B | 价值 C | 值 D

问题是,A 和 C 列中的值可能很长,而 B 和 D 中的值可能很短。我不介意标题或值是否换行 - 所以理想情况下,我希望一个典型的表格如下所示

这是一个列标题 (A) | 另一个 | 页眉 (C) | 其他
                                        | 专栏 | | 柱子
                                        | 标题 (B) | | 标题 (D)
-------------------------------------------------- -------------------------------------------------- ------
值很长很冗长,bla bla | 价值 B | 值C - 这很长| 值 D
bla bla bla - 看到它包装| | |

本质上,我希望列标题优先于表格数据单元格中的值换行。我不能简单地将wrap-option="no-wrap"属性应用于表格单元格 - 因为页面不够宽,无法容纳所有长文本。

我已经尝试proportional-column-width为列指定属性 - 但这并不理想,因为我不知道在所有情况下哪些列将包含最长的文本。

目前我想出的最佳解决方案是在列标题文本中显式地放置换行符,但这会产生不必要的副作用,即它似乎会相当多地增加列宽。有关示例,请参见http://snipplr.com/view/37957/xslfo-to-make-a-table/ 。这会产生这个输出http://imagebin.org/106996。请注意第 3、4、5、6 和 7 列似乎有相当大的填充,这意味着第 1 列和第 2 列比它们可能的要窄。

任何帮助将不胜感激。

PS - 我正在使用 Ibex 渲染引擎http://www.xmlpdf.com

4

1 回答 1

1

我不确定您使用的是哪个渲染引擎。但是,如果它支持table-layout="auto"(大多数商业引擎都支持),这可能会给您带来比您现在得到的结果更好的结果。没有任何明确的换行符。

请参阅XSL 规范以获取 table-layout 属性和相应的CSS2 规范

于 2010-07-28T08:28:14.607 回答