用CSS创建打印页面

用CSS创建打印页面,不必为打印而专门建立一个HTML文件,可以节省一些体力,其前提是按“WEB标准”用CSS+DIV布局HTML页面。我拿节日这个页面,试验了一番,具体效果,可以点击其页尾打印按钮看一看。

第一,在HTML页面加入为打印机设置的CSS文件

<link href="css/jieri.css" rel="stylesheet" type="text/css" media="screen" />

<link href="css/jieri-print.css" rel="stylesheet" type="text/css" media="print" />

media="screen" ,是面向屏幕的;

media="print" ,是面向打印的;

第二,建立打印版本的页面,去除不必要的页面元素,如导航、侧栏、广告、版权等。这时就可以体现出按“WEB标准”做页面的优势了,用CSS换个版式很容易。

/* 隐藏不打印项 start */

h1 span {    /* 副标题 */
 display: none;  
}

#sidebar {   /* 侧栏 */
 display: none;
}

#content td.ads {  /* 表格内广告 */
 display: none;
}

#content th.col2 span {  /* 锚链接 */
 display: none;
}

#content #bottom-2 {  /* 页尾表格打印 */
 display: none;
}

/* 隐藏不打印项 end */

第三,打印按钮函数,IE、Firefox均可正常打印。

<input type=button value="打 印 本 页" onclick="window.print()">

另外,还有一个本地版的打印页面,可以进行“打印设置”和“打印预览”,但因为此设置,网络打印需要调用IE浏览器一个控件,还需降低ActiveX控件安全,且只能在IE上运行,不实用。所以只贴一下调用代码,备份。

<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0> </OBJECT>

<input type=button value="打印预览" onclick=document.all.WebBrowser.ExecWB(7,1)>

<input type=button value="页面设置" onclick=document.all.WebBrowser.ExecWB(8,1)>

<input type=button value="打印本页" onclick=document.all.WebBrowser.ExecWB(6,1)>

第四,注意事项

在打印样式中,打印字体大小是以点(pt)来计的,屏幕上字体大小显示,象素(px)比点和英尺更合适。

打印样式中,CSS的float属性有时可能会引起一些麻烦,会造成打印页面缺失,所以尽量去除不必要块级显示。

关于打印设置,自定义页眉、页脚,我查阅了一番资料,对此CSS和HTML无法控制,只能通过调用ActiveX控件来实现,但是这样做不安全。最好方法是,打印前,你自己点击浏览器菜单进行打印设置。

CSS中还有一个可以设置分页符的标签:“page-break-after”和“page-break-before”。因为我的节日页面,表格较多,所以就没有应用这个CSS,具体效果你自己试验吧。

 

http://www.zfnn.com/post/262.html

你可能感兴趣的:(css)