CSS中如何强制页面横向显示?

13

我将CSS文件的大小属性设置为“landscape”,以便在打印页面时以横向方式显示。

@page {
          margin: 0.1cm;
          size: landscape;
          orientation: landscape;
          size: A4;

有些页面是纵向打印的,有些则是横向打印的。

我该如何使用CSS检测并强制页面横向打印呢?


1
你尝试过这个解决方案吗?https://dev59.com/GXVC5IYBdhLWcg3w9GA9 - s0rfi949
我尝试了:@page { size: landscape; 作为解决方案,因为不是所有浏览器都接受此属性,所以最终尝试使用PDF。 - Ângelo Rigo
3个回答

17

您提供的CSS存在以下问题:

  1. 括号没有关闭(缺少 })。
  2. 您使用 A4 覆盖了 size
  3. orientation 似乎存在于媒体查询中,但不作为属性存在(source)。因此您可以检查方向,但无法设置它。

我尝试过了。

@page {
    size: A4 landscape;
}

在Linux上的Chrome 60版本中可以使用,但似乎在Firefox中不起作用。

您可以设置<body>widthheight为所需值(仅通过使用媒体查询来打印),就像paper.css一样。

替代方案

您可以添加

body {
    transform: rotate(-90deg);
}

似乎可以安全使用


3
问题是首先你写了size: landscape;,但紧接着你又写了size: A4; 如果不提供第二个参数,domPDF将默认呈现为纵向,并覆盖横向。 设置第二个参数为landscape即可解决问题。
size: A4 landscape; 

1
在我的情况下,它适用于以下内容:
@page {
   size: landscape letter;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接