2

我正在尝试使用 css(@media print)更改打印文档的样式,并定义了一个简单的样式来在打印时更改标题字体大小。然而,印刷媒体的风格根本没有改变。谁能告诉我哪里出错了?谢谢!这就是我所做的

<%@ 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>
4

3 回答 3

2

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

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

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

于 2013-04-10T07:45:04.047 回答
0

有时,至少在 Chrome 中,CSS 会被忽略......在按下Ctrl + R20 次之后,或者甚至更好地清除缓存后,它最终会起作用......

于 2014-01-30T21:17:34.163 回答
0

改用这个:

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

不是letf

于 2013-10-03T05:03:11.350 回答