我有一个HTML报告,需要打印的景观,因为许多列。是否有一种方法可以做到这一点,而不需要用户更改文档设置?

浏览器中有哪些选项。


当前回答

你可以使用css2 @page规则,它允许你将“size”属性设置为横向。

其他回答

你也可以使用非标准的IE-only css属性写入模式

div.page    { 
   writing-mode: tb-rl;
}
-webkit-transform: rotate(-90deg); -moz-transform:rotate(-90deg);
     filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);

在Firefox 16.0.2中不能运行,但在Chrome中可以运行

<style type="text/css" media="print">
.landscape { 
    width: 100%; 
    height: 100%; 
    margin: 0% 0% 0% 0%; filter: progid:DXImageTransform.Microsoft.BasicImage(Rotation=1); 
} 
</style>

如果你想把这个样式应用到一个表格上,那么就用这个样式类创建一个div标签,并在这个div标签中添加table标签,最后关闭div标签。

此表格将仅以横向模式打印,所有其他页面将仅以纵向模式打印。但问题是,如果表的大小大于页面宽度,那么我们可能会丢失一些行,有时也会丢失标题。小心些而已。

祝你有愉快的一天。

谢谢你,亲爱的 Naveen Mettapally。

你可以使用css2 @page规则,它允许你将“size”属性设置为横向。

试着添加这样的CSS:

@page {
  size: landscape;
}