我正在尝试建立一个印刷样式表,并有一个简单的测试框架,我已经努力了几个小时。我已经在SO和其他地方阅读了很多关于媒体打印使用的内容,但没有一个配置对我有用。
问题
打印窗口打开 - 没问题,打印的打印窗口(红色标题)上正确读取了print.css样式表。但是当实际渲染打印(即物理打印)时,我没有标题样式。还尝试了media =“print”并删除了媒体属性 - 所有这些都没有运气。
//js
<script type="text/javascript">
$(function(){
$('#print_btn').click(function(e){
e.preventDefault();
var w = window.open();
var printOne = $('.contentToPrint').html();
var printTwo = $('.print_div').html();
w.document.write('<html>');
w.document.write('<head>');
w.document.write('<title>Calculation</title>');
w.document.write('<link rel="stylesheet" type="text/css" href="path/Stylesheets/print.css" media="all">');
w.document.write('</head>');
w.document.write('<body>');
w.document.write('<h1 class="test">Copy - Calculation Estimate</h1><hr />' + printOne + '<hr />' + printTwo);
w.document.write('</body></html>');
w.window.print();
w.document.close();
return false;
});
});
</script>
// test style sheet-print.css(尝试使用和不使用媒体包装器)
@media print
{
.test
{
color: red;
}
}
ps-还有一件事。当我将样式内联添加到H1标签时,它会正确打印样式。