【问题标题】:Print preview squishing content打印预览挤压内容
【发布时间】:2016-10-20 20:32:04
【问题描述】:

我正在尝试使用 CSS 中的 @page 指令以我希望的方式为我打印打印预览。出于某种原因,无论我的页边距设置为多少,内容都会被挤压,即使数字应该是准确的。下面是一个测试示例:

https://deck.zone/embed/-KK43Q9JoAqMIYd5gLj5;scriptId=0;print;tabs=result,code

如果您在此页面上打开打印预览(我正在使用 chrome 进行测试),您会看到卡片非常偏离中心。事情是这样的——我的卡片设置为 2.5 英寸 x 3.5 英寸,而页面本身设置为 8.5 英寸 x 11 英寸。这意味着我应该在左右之间留出大约 1 英寸的边距,在顶部和底部留出 0.5 英寸的边距,这意味着从逻辑上讲,我的边距应该在每一侧减半。但是,如果我真的这样做,它看起来会被压扁:

这是我的@page CSS:

  @media print {
    html, body, .printable, .results-pane, .embed-view {
      width: 8.5in !important;
      height: 11in !important;
    }

    @page {
      size: 8.5in 11in;
      margin-top: 0.25in;
      margin-left: 0.5in;
      margin-right: 0.5in;
      margin-bottom: 0.25in;
    }
  }

即使我尝试手动设置边距,问题仍然存在,您甚至可以看到我的内容被挤压。这是绝对没有边距的外观(保留 1 英寸和 0.5 英寸的边距:

这是我自己设置边距时的样子:

有没有办法可以阻止浏览器执行这种挤压行为,或者使用我的@print 查询来解决这个问题?作为参考,我已尝试在正文本身上设置边距,但顶部/底部边距不会在多个打印页面中持续存在。

【问题讨论】:

  • 所以你想要,@page 在中心?
  • @ihemant360 什么意思?
  • 试试这个.m-b-0{margin-left:100px;}
  • @ihemant360 为什么会这样做?印刷媒体隐藏了标题栏。
  • 我无法理解你的问题...你能解释一下吗?

标签: css printing print-preview print-css


【解决方案1】:

幸运的是,这实际上是第一个媒体查询的问题:

html, body, .printable, .results-pane, .embed-view {
  width: 8.5in !important;
  height: 11in !important;
}

因为它们都被设置为相同的大小,所以它们会相互推出。解决方案是让html 具有正确的宽度/高度,然后一切都从那里开始到位。

【讨论】:

    猜你喜欢
    • 2015-09-13
    • 2023-03-18
    • 2017-03-29
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多