我有一个页面在长水平表中吐出 db 数据。
我需要很好地打印它,这样它就不会被切断。有小费吗 ?
将表格更改为具有多行的水平表格(交换行/列)
建议用户切换到横向模式。AFAIK 无法在当前浏览器中以编程方式执行此操作(CSS3 定义@page {size:landscape}
)
每隔几列拆分表(即,一个包含 100 列的表,生成 10 个表,每个表包含 10 列)。使用 CSStable {display: inline-table}
在屏幕上并排显示它们。这个技巧只有在你没有不同高度的单元格时才有效。
如果它不适合纸上的可读字体,那它就是不适合。在我看来,巨大的水平表格(无论是 HTML 表格还是具有多列的 Excel 表格)不适合打印。就此而言,它们也不适合在屏幕上观看。请记住,对于您的用户来说,垂直滚动比水平滚动要容易得多——这都要归功于鼠标上的那个小滚轮。
最坏的情况是,您可能需要编写一个使用垂直布局的单独打印版本。
为确保您的表格不会消失在 Printer Abyss 中,请确保其容器的宽度设置为 100%。
我假设您知道如何使用特定于打印的 CSS ( <style type="text/css" media="print">
)。
由于打印机和计算机显示器可以有非常不同的分辨率,所以在打印 CSS 中进行大部分尺寸设置em
,并在打印时隐藏非必要元素 ( display:none
)。
此外,为了提高纸上的可读性,请使用白色背景、黑色文本和衬线字体(Times New Roman 等),它们以在纸上更易读而著称。
不同的浏览器会以自己的方式打印(甚至比在屏幕上打印更多),因此请多试一试,看看是否可以从其他浏览器获得更好的结果。也就是说,当然,如果打印不需要在整个浏览器范围内完美运行。