打印HTML的不同页面方向

前端之家收集整理的这篇文章主要介绍了打印HTML的不同页面方向前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
码:

我尝试使以下简单的HTML页面工作:

<html>
  <head>
    <style type="text/css">     
    @media print
    {               
      @page port { size: portrait; }
      .portrait { page: port; }

      @page land { size: landscape; }
      .landscape { page: land; }                

      .break { page-break-before: always; }
    }
    </style>
  </head>
  <body>
    <div class="landscape">
      <p>This is a landscape page.</p>
    </div>
    <div class="portrait break">
      <p>This is a portrait page.</p>
    </div>
  </body>
</html>

题:

我想将第一个div的内容打印到第一页,横向,第二个是纵向模式。但是,所有的浏览器(Chrome,Opera,Safari,IE10)都会打印两个纵向页面。我错过了什么,还是没有一个浏览器支持这种功能呢?在后一种情况下,是否有任何替代方案来实现这一结果?

解决方法

一个快速而肮脏的黑客将使用CSS3或过滤器将要在景观中的div旋转90度。以下将工作:
-webkit-transform: rotate(-90deg);
-moz-transform:rotate(-90deg);
filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);

目前没有任何简单的方法可以以任何其他方式执行此操作,因为大小的CSS指令只能由一个浏览器(Opera)实现,但仍然是当前草案的一部分(Is @Page { size:landscape} obsolete? for the deprecation,http://www.w3.org/TR/css3-page/#page-size for the spec)。

下一个最便宜的攻击是我上面提到的:将HTML放在肖像上,并使用CSS3旋转90度。

猜你在找的HTML相关文章