我想在网页上打印一个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();