我想在网页上打印一个div,但是每当我单击print按钮时,div的元素就会出现在print选项卡的一边。
下面是我的打印功能

print(): void {
let printContents, popupWin;
printContents = document.getElementById('print-section').innerHTML;
popupWin = window.open('', '_blank');
popupWin.document.open();
popupWin.document.write(`
  <html>
    <head>
      <title></title>
      <style>


      </style>
    </head>
<body onload="window.print();window.close()">${printContents}</body>
  </html>`
);
popupWin.document.close();

}
我听说我需要用css来解决这个问题。但是我应该把css代码放在哪里呢?我试着在样式标签中添加代码,但它不起作用。

最佳答案

您可以尝试使用角度innerHTML指令绑定,使用以下代码:

print(): void {
let printContents, popupWin;
printContents = document.getElementById('print-section').innerHTML;
popupWin = window.open('', '_blank');
popupWin.document.open();
popupWin.document.write(`
  <html>
    <head>
      <title></title>
      <style>


      </style>
    </head>
<body onload="window.print();window.close()">
    <div [innerHTML]="printContents"></div>
</body>
  </html>`
);
popupWin.document.close();

07-26 03:30