IE8 横向打印

发布于 2024-09-09 22:02:44 字数 693 浏览 3 评论 0原文

我已阅读从 HTML 进行横向打印,但我的问题更具体。在我承认失败并考虑不同的职业之前,我想我应该在这里发帖。

这是我的情况:

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

首先,@media print{@page {size: Landscape}} 只是普通的在任何情况下都不起作用,我已经尝试过了。

这确实有一定的作用: 过滤器:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);

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

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

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

我应该怎么办?

I have read Landscape printing from HTML, but my problem is more specific. And before I concede defeat and consider a different career, I thought I would post here.

This is my situation:

I am writing a timetabling display and printing program in HTML. The user clicks various options such as room, dates etc. An AJAX call is then made, to fetch the data and the timetable blocks are absolute positioned using Javascript. The width of the timetable is more than the height of the timetable. So, I need to print in landscape, in order to maximise the size on the page.

Firstly, @media print{@page {size: landscape}} just plain doesn't work under any circumstance, I've tried.

This does sort of work:
filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);.

I've tried applying the CSS ImageTransform to either of the HTML or BODY elements, with differing results.

When applied to the HTML element, it seems as though the page is rendered as portrait (which is the default setting for users in my organisation), and then rotated by 90 degrees. Clearly this doesn't help me.

When applied to the BODY element, everything works, except for elements that are either relative or absolute positioned (which still appear portrait). I can't abandon absolute positioning, without re-writing from scratch, which I don't have the luxury of.

What should I do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

辞取 2024-09-16 22:02:44

由于 IE8 中的怪癖,您需要将过滤器 (filter: progid:DXImageTransform.Microsoft.BasicImage(Rotation=3);) 重新应用到任何绝对定位的元素。

Due to the quirks in IE8 you need to reapply the filter (filter: progid:DXImageTransform.Microsoft.BasicImage(Rotation=3);) to any element that is positioned absolute.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文