【问题标题】:Why website printed with Chrome is using mobile layout?为什么用 Chrome 打印的网站使用移动布局?
【发布时间】:2015-03-24 21:55:46
【问题描述】:

在 Chrome 中,当打印到 A4 纸时,它以 568px 媒体查询宽度呈现。

尝试打印响应式网站,例如 The VergeBootstrap,您会在预览中看到它正在使用移动版式(见下图)。

在 Firefox 中,它使用大约 900 像素(见下图)。

有没有办法让它打印桌面布局

我知道我可以通过将我的移动断点更改为 568 像素来解决这个问题,但我需要我的网站在 iPad 上打破 768 像素。

【问题讨论】:

  • 您的样式表中必须有一个 @media print 条件,其中也包含移动 CSS
  • @McNab 抱歉,我的问题不清楚,我只是编辑了我的问题(倒数第二行)以使其更清楚。我希望 Chrome 打印桌面布局。

标签: html css google-chrome media-queries


【解决方案1】:

Verge使用移动布局进行打印。它使用自己的打印布局。如果您在模拟print 媒体的同时检查页面,您将看到大量media="print" 声明。这是通过 HTML 加载的:

<link href="..." media="print" rel="stylesheet" type="text/css">

如果您希望网站在打印时与在移动设备上看起来不同,只需在移动媒体查询中指定 screen

@media screen and (max-width: 768px) {
    ...
}

打印时,screen 声明将被忽略,从而完全忽略您的移动媒体查询。

【讨论】:

  • 哦,谢谢!这就是screen 的用途。我一直在其他人的代码中看到它,但没有使用它,因为它似乎没有做任何事情。
【解决方案2】:

只需将其添加到您的样式表中

@media print {
  @page {
    size: 330mm 427mm;
    margin: 14mm;
  }
  .container {
    width: 1170px;
  }
}

【讨论】:

  • 谢谢 - 这解决了我在启用打印时 Chrome 进行移动布局的问题!
  • 很高兴它帮助了你:)
  • 终于找到了一个可行的解决方案!这将使用桌面设计打印页面,即使在 chrome 中也是如此。
  • 这是一个实验性功能,取决于您用来实现它的浏览器。 developer.mozilla.org/en-US/docs/Web/CSS/@page/size
  • 谢谢,这个解决方案对我来说确实有效。
猜你喜欢
  • 2016-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-06
  • 1970-01-01
  • 2021-06-21
相关资源
最近更新 更多