巧妙使用CSS创建可以打印的页面

用CSS创建打印页面,不必为打印而专门建立一个HTML文件,可以节省一些体力,其前提是按“WEB标准”用CSS+DIV布局HTML页面。

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

<link href="css/admin.css" rel="stylesheet" type="text/css" media="screen" />
<link href="css/admin-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,具体效果你自己试验吧。

时间: 2024-12-25 18:59:56

巧妙使用CSS创建可以打印的页面的相关文章

JSP添加打印部分页面

打印a.jsp的部分页面 将影响要打印的内容放到<div id="printcontent">中 为想要打印的内容创建样式pirnt.css 在a.jsp中添加以下内容: function printpage() { OpenWindow=window.open("", "_blank"); //重写网页 OpenWindow.document.write("<head>"); OpenWindow.d

js打印WEB页面内容代码大全

第一种方法:指定不打印区域 使用CSS,定义一个.noprint的class,将不打印的内容放入这个class内. 详细如下: <style media=print type="text/css">   .noprint{visibility:hidden}   </style>   要打印的内容.哈哈!<p class="noprint">将不打印的代码放在这里.</p><a href="javasc

js打印html页面(转)

第一种方法:指定不打印区域 使用CSS,定义一个.noprint的class,将不打印的内容放入这个class内. 详细如下: <style media=print type="text/css">   .noprint{visibility:hidden}   </style>   要打印的内容.哈哈! <p class="noprint">将不打印的代码放在这里.</p> <a href="java

web的各种前端打印方法之CSS控制网页打印样式

来源:http://www.jb51.net/web/70358.html CSS控制网页打印样式: 使用CSS控制打印样式,握刚刚使用时一塌糊涂,根本不知道CSS中的midia的作用是什么,问到别人说导入这个样式,还傻乎乎的不知所措.如果你也有这种现象,那么我告诉你吧,在W3school查到CSS的midia的作用. midia 定义和用法: media 属性规定被链接文档将显示在什么设备上. media 属性用于为不同的媒介类型规定不同的样式. 原来用到media来指定css的媒体类型,它的

grails2.3.x创建插件,gsp页面不能正确显示内容

grails2.3.x创建plugin时,默认的Config.groovy只有简单的log设置,这时候,页面添加数据之后,正确的逻辑是show新增的数据,但却变成404,需要在Config.groovy中增加以下代码: grails.mime.types = [ // the first one is the default format all:           '*/*', // 'all' maps to '*' or the first available format in wit

jQuery打印Html页面自动分页

最近项目中需要用到打印HTML页面,需要指定区域打印,使用jquery.PrintArea.js 插件 用法: Javascript代码   $("div#printmain").printArea(); 但还是会打印DIV后面的内容,这里可以使用CSS控制打印分页 Css代码   <div style="page-break-after: always;"></div> 有时用CSS控制分页了但还是会连续打印页面,这里就可以用上PrintA

打印web页面指定区域的三种方法

本文和大家分享一下web页面实现指定区域打印功能的三种方法,一起来看下吧. 第一种方法:使用CSS 定义一 个.noprint的class,将不打印的内容放入这个class内. 代码如下: <style media="print" type="text/css"> .noprint{visibility:hidden} </style>这 里是要打印的内容.<p class="noprint">这里是不打印的内

CSS让footer保持在页面底部

序:当希望将footer保持在页面底部(即使页面内容高度低于窗口高度),可以尝试下面的方法.. <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <title>CSS让footer保持在页面底部</title> <style type="text/css"> * { margin:

使用SharePoint创建并自定义网站页面

使用SharePoint创建并自定义网站页面 1. 打开SharePoint Designer 2010. 2. 左侧导航点击网站页面. 3. 在功能区点击Web部件页面,新建Employee.axpx. 4. 右击签出.这样这个文件被锁定,只能由你编辑. 5. 点击打开属性窗格. 6. 点击编辑文件. 7. 点击代码视图. 8. 添加一个<div>标签,将在这里添加一个ASP.NET控件. 9. 在工具箱,标准ASP.NET控件下,拖一个XML控件到<div>中,并重命名ID为x