代码之家  ›  专栏  ›  技术社区  ›  Guillermo Phillips

IE8的横向打印

  •  5
  • Guillermo Phillips  · 技术社区  · 14 年前

    我读过 Landscape printing from HTML 但我的问题更具体。在我承认失败并考虑换个职业之前,我想我会在这里任职。

    这是我的情况:

    我正在用HTML编写一个时间表显示和打印程序。用户单击各种选项,如房间、日期等。然后进行Ajax调用,以获取数据,时间表块使用javascript进行绝对定位。时刻表的宽度大于时刻表的高度。因此,我需要以横向方式打印,以便最大化页面的大小。

    首先, @media print{@page {size: landscape}} 我试过了,在任何情况下都不起作用。

    这是可行的: filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1); .

    我尝试将CSS ImageTransform应用于HTML或Body元素,但结果不同。

    当应用于HTML元素时,似乎页面呈现为纵向(这是我所在组织中用户的默认设置),然后旋转90度。显然这对我没有帮助。

    当应用到body元素时,一切都可以工作, 除了 对于相对或绝对定位的元素(仍然显示为纵向)。我不能放弃绝对的定位,没有从头开始重写,这是我没有的奢侈。

    我该怎么办?

    1 回复  |  直到 10 年前
        1
  •  0
  •   Sutty1000    10 年前

    由于IE8中的特殊要求,您需要将过滤器(filter:progid:dxImageTransform.microsoft.basicImage(rotation=3);)重新应用于任何绝对定位的元素。