css @media打印不工作

时间:2013-04-10 07:17:27

标签: c# javascript asp.net css

我正在尝试使用css(@media print)更改打印文档的样式,并定义了一种简单的样式来在打印时更改标题fontsize。但是,打印介质的样式根本没有改变。谁能告诉我哪里出错了?谢谢! 这就是我做的事情

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="testmediacss.aspx.cs" Inherits="PrintDemo1.testmediacss" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css" >
   @media print { body {font: 50pt Arial;} h1 {font-size: 138pt;} h2 {font-size: 15pt; color: #000;} }
    </style>
    <script type="text/javascript" language="javascript">
        function CallPrint(strid){
            var prtContent = document.getElementById(strid);
           var WinPrint = window.open('', '', 'letf=1000,top=1000,width=1000,height=500,toolbar=0,scrollbars=0,status=0');
           WinPrint.document.write(prtContent.innerHTML);
            WinPrint.document.close();
            WinPrint.focus();
            WinPrint.print();
            WinPrint.close();
       }
  </script>
</head>
<body>
    <form id="form1" runat="server">
    <div  id="divprint">
        <p>hello this is the part to be printed in the printer.</p>

        <h1>hello world</h1>
        </div>
        <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="CallPrint('divprint');" />

    </form>
</body>
</html>

3 个答案:

答案 0 :(得分:2)

在定义css时,我一直使用媒体打印和媒体屏幕。

@media print
{
  h1 {font-size: 138pt;}
}
@media screen
{
 h1 { font size: 95pt;}
}

它将在屏幕上显示为95点文本,但打印为138点文本。

答案 1 :(得分:0)

请改用:

var WinPrint = window.open('', '', 'left=1000,top=1000,width=1000,height=500,toolbar=0,scrollbars=0,status=0');

不是letf

答案 2 :(得分:0)

有时,至少在Chrome中,CSS会被忽略......按下Ctrl + R 20次后,甚至更好地清除缓存,它最终会有效......