问题摘要:
我有一个页面显示一个html表,其中单元格大约100px / 100px。此表可以是从1列/行到N列/行的任何位置,但我需要创建一个系统,可以在所有浏览器中正确打印此文档。
到目前为止我尝试了什么:
我目前的解决方案使用了另一个SO问题的答案:https://stackoverflow.com/a/19582173/781884
当前解决方案的问题
在使用Chrome的某些情况下,此解决方案的效果相对较好。问题是很多用户使用IE7并且效果不佳,尤其是在打印大型表时。
我可能的解决方案:
答案 0 :(得分:1)
我认为第一个解决方案是最简单的工作方式。问题是,为什么它不适用于IE7?你有桌子或其他东西的花式格式吗?你的jQuery版本是否支持IE7?等等。
因为您知道单元格的确切大小,所以您可以在N x M单元格上拆分表格,无论您在打印页面上最适合N和M。如果您有普通表并且使用支持jQuery版本的IE7,那么这应该没有任何问题。确保表格中没有任何行/ colspan错误,并且所有HTML都有效。
答案 1 :(得分:1)
最佳解决方案是使用某些框架,如bootstrap或其他人所说的数据表。我向你保证它会解决你的问题并且值得研究。使用这些框架,您可以使用js生成表,这是一个非常优雅的解决方案。
此外,bootstrap框架具有响应能力,因此可以在所有最新浏览器和所有尺寸中显示出色。它将根据浏览器的视口大小对齐表格。
数据表框架也做了几乎相同的事情。但唯一的区别是它提供了一些排序和其他排序功能。基本上它建立在bootstrap之上
答案 2 :(得分:0)
快速解决方案:使用响应式框架谎言引导程序:
http://getbootstrap.com/css/#tables
然后是.table-responsive
通过打印媒体查询给出最后的触摸,基于它应该看起来如何。
或仅限jquery的解决方案:https://datatables.net/
你的JungerIslaender
答案 3 :(得分:0)
使用bootstrap框架工作肯定有助于跨浏览器兼容性。 Bootstrap还使您可以非常轻松地配置要在打印输出中显示的页面元素。使用Chrome,您实际上也可以直接保存到PDF,这很酷。
这是我网站上的working example。