我想打印一个div元素。我有一个打印div的函数。但我想用CSS打印div内容。
function printDiv() {
var divContents = document.getElementById("mymodelid").innerHTML;
var a = window.open('', '', 'height=600, width=700');
a.document.write('<html>');
a.document.write(divContents);
a.document.write('</body></html>');
a.document.close();
a.print();
}
答案 0 :(得分:1)
此代码将帮助您打印div。但是,如果要使用CSS进行打印,则必须在CSS中使用@media规则。
function printDiv()
{
var divToPrint=document.getElementById('mymodelid');
var newWin=window.open('','Print-Window');
newWin.document.open();
newWin.document.write('<html><body onload="window.print()">'+divToPrint.innerHTML+'</body></html>');
newWin.document.close();
setTimeout(function(){newWin.close();},10);
}
在CSS文件中使用@media打印,如下所示:
@media print {
.mymodelid {background-color:#FF00FF;}
}
如果它不起作用,则应更改浏览器选项并检查“背景图片”。
答案 1 :(得分:1)
正如sajadre所说,我也建议使用createElement()
。
要更改字体颜色,可以使用方法fontColor()
(请注意,它已被弃用):
function printDiv() {
const el = document.createElement('div');
el.innerHTML = 'Hello World';
var divContents = el.innerHTML.fontcolor("red");
var a = window.open('', '', 'height=600, width=700');
a.document.write('<html>');
a.document.write(divContents);
a.document.write('</body></html>');
a.document.close();
a.print();
}