小编典典

打印 只要?

all

如何打印指定的 div(无需手动禁用页面上的所有其他内容)?

我想避免一个新的预览对话框,所以用这个内容创建一个新窗口是没有用的。

该页面包含几个表格,其中一个包含我要打印的 div - 该表格的样式是 Web 的视觉样式,不应在打印中显示。


阅读 83

收藏
2022-03-11

共1个答案

小编典典

这是一个通用的解决方案, 仅使用 CSS ,我已经验证它可以工作。

@media print {
  body * {
    visibility: hidden;
  }
  #section-to-print, #section-to-print * {
    visibility: visible;
  }
  #section-to-print {
    position: absolute;
    left: 0;
    top: 0;
  }
}

替代方法不是那么好。使用display很棘手,因为如果任何元素有,display:none那么它的后代都不会显示。要使用它,您必须更改页面的结构。

使用visibility效果更好,因为您可以打开后代的可见性。不可见的元素仍然会影响布局,所以我移动section-to- print到左上角以便正确打印。

2022-03-11