我需要在 打印 巨大的HTML表格时执行此操作:
+-----+---------+-----+
| ID | Title | Qty | ⇐ descriptive header that shouldn't repeat
+-----+---------+-----+
| 1 | 2 | 3 | ⇐ column number that **SHOULD** repeat
+-----+---------+-----+
| aaa | bbb | 0 | ⇐ data; rows upon rows of data
... ... ...
+-----+---------+-----+
| 1 | 2 | 3 | ⇐ page 2
+-----+---------+-----+
| xxx | yyy | 999 |
... ... ...
是否可以在不使用“2个固定布局的表格”解决方案的情况下实施(我真的不想使用固定值)?哦,我只能使用HTML和CSS。
如果有帮助,我只针对IE(6及以上)。
到目前为止,我已尝试过这些不同的黑客攻击,但无济于事:
没有thead
,第二行获得th
而不是td
1.1。即使style="display:table-header-group"
tr
在thead
中,第一行使用td
代替th
2.1。在style="display:table-row-group"
上使用thead
,在第二行使用style="display:table-header-group"
在thead
中间插入tbody
的变体(根据消失的答案之一)
我开始接受这是不可能的,我将不得不采用固定的布局设置(但我祈祷只留下一个灵活宽度的列就足够了): - (
答案 0 :(得分:2)
支持仍然很少,但您可以使用正确的渲染器执行此操作:
<强> Dcoumentation 强>: http://www.w3.org/TR/css3-page/ 和 http://dev.w3.org/csswg/css-gcpm/
受支持的热门引擎: http://weasyprint.org/docs/features/ 和 http://www.princexml.com/doc/9.0/page-headers-footers/
我还努力获得 WKHTMLTOPDF
中包含的支持答案 1 :(得分:1)
基于这样的想法,你希望这个表能很好地流向设备屏幕上的“页面”(我仍然不完全按照你的意思),我会选择paginating your single table with javascript。
对于表格第一页中的第二个标题,我会使用javascript在表格的开头插入一个额外的行,给出一个类并以编程方式添加列号。如果你需要我,我可以扩展这个。
答案 2 :(得分:-1)
事实证明,你不能做这种事。
根据您的要求,最接近的解决方案是在彼此之间使用两个固定布局表格,或者在保证适合一页的部分中对表格进行硬性处理。