说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

用CSS样式展现可打印页面

HTML文档下载 WORD文档下载 PDF文档下载
有许多创建可打印WEB页面的技术,许多都是复制页面并删除不需要的元素,许多都使用服务器端脚本(如:ASP,PHP,PERL,...)打开一个可打印的页面。我采用样式表来实现。

原作者:Per S

翻译:http://www.okbase.net/home/haobao

 

有许多创建可打印WEB页面的技术,许多都是复制页面并删除不需要的元素,许多都使用服务器端脚本(如:ASP,PHP,PERL,...)打开一个可打印的页面。我采用样式表来实现。

样式表

用样式表来实现是非常简单优雅的,你可以创建一个独立的样式表专门用于打印:
设置背景色为白色(background:#ffffff)
下划线(text-decoration:underline),对于彩色打印机,我们可以设置为蓝色
用display:none;隐藏不需要打印的内容

附加样式表:

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

media="print" (IE 4+, Netscape 6+, Opera 3.62+) 告诉浏览器这个样式只在打印时用。

我的代码是这样写的:

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

你也可以根据需要添加附加的样式:

body {     color : #000000;     background : #ffffff;     font-family : verdana,arial,sans-serif;    font-size : 12pt;}h2 {    font-size : 14pt;}a {     text-decoration : underline;    color : #0000ff;}#logo,#head,#menu,#tail,#printicon, {    display : none;}#appendedlinks {    page-break-before: always }

对于链接,我们可以用JavaScript统一修改:

// // IE only: attach eventhandlers.// They trigger when a user  prints a web page; //     From File->Print, File->Print Preview or//     by executing a window.print() command //window.onbeforeprint=beforePrintwindow.onafterprint=afterPrintfunction beforePrint() {    appendlinks(content);}function afterPrint() {    removelinks(appendedlinks);}//// Generic print function, called from the web page//function printContent() {    if (window.print) {           window.print();    } else {        alert("your browser doesn't support this function")    }}// // When appending links to the document, do not // append links pointing to the following domains / sites//var excludedomains=["soderlind.no", "soderlind.org","localhost"]var excludedomains=excludedomains.join("|")rexcludedomains=new RegExp(excludedomains, "i")//// appendlinks(id)// id = id of the part of the web page you want to extract links from//      ex: document.body//function appendlinks(id){        var strD = "<p/>";    var num = 0;    if (document.getElementById){        var links=id.getElementsByTagName("A")            var total=links.length        strD += "<dl id=\"appendedlinks\" border=0>"        strD += "<dt><h2>Links extracted from the document:</h2></dt>"        for (i=0;i<total;i++){            if (links[i].hostname.search(rexcludedomains)==-1                 && links[i].href.indexOf("http:")!=-1) {                strD += '<dt>'+links[i].innerText+'</dt>'                strD += '<dd>'+links[i]+'</dd>'                num++;            }        }        strD += "</dl>"        if (id.insertAdjacentHTML && num>0)            id.insertAdjacentHTML("beforeEnd",strD);    }}//// removelinks(id)// After the print job is done, remove the appended links from the document// id = appendedlinks//function removelinks(id) {    if (document.getElementById){        id.removeNode(true);    }}

当然,你也可以用JQuery使这一过程更简单,祝你编码愉快。

 

创业建议泛滥成灾 实用的不多 腾讯云俱乐部北京站:知名手游商畅谈云时代开发运营策略 LG再战平板市场:将推出8.3英寸平板G Pad 编程语言与工具专题论坛:各类编程语言使用体会分享 淘宝、腾讯、豆瓣、支付宝、网易专家热议大数据分析与BI实战 “创新或灭亡”:Google的80/20只是转移视线的说辞罢了 自动化编排,配合SDN的iMC V7更加开放 [回顾]比尔·盖茨传奇的前半生 IT基础设施与运维论坛:IT基础设施及运维经验分享 记华为HCC2013 Day1:发力高端存储 HCC 2013虚拟化论坛:虚拟化未来发展方向 Windows 8操作系统市场份额增至7.41% Windows 7仍最受欢迎 【开源专访】Sea.js创始人玉伯的前端开发之路 SDCC 2013:阿里周宝方谈“去IOE”战略及实施 百度和高德:最后谁是地图的王者? 【CTO论道】瑞智和康CEO陶建辉:软硬结合是消费电子新潮流 10大高效率原型设计工具 JIRA与敏捷:李小龙教给我们的敏捷开发之道 百度开放云:Light Up The World,与开发者共享云未来 有胆你就来!11个在线编码大赛 CTO如何避免决策失控:第一步-定义角色 后机械硬盘时代,那些引领风骚的闪存初创公司 致远文杰:传统企业如何实现移动化转型? 记华为HCC2013 Day2:SDN开放编程系统OPS打造生态圈 HCC2013:华为FusionCube融合至简,性能至优 已确认Stephen Elop候选微软下任CEO 英语对于软件开发者来说到底有多重要? SDCC 2013中国软件开发者大会成功落幕 新浪微博宋琦:PHP在微博优化中的“大显身手” 8月份浏览器份额:IE浏览器PC端出现反弹 移动端跌出前五 如何让Ruby项目速度提升10倍 哪位朋友有没有做过让asp自动生成 Access数据库中的一张表 现想做一模块,主要是对股票数据在网络(包括公司内部网或是INTERNET)进行实时的发送; 关于DcomConnection的一个问题:连接局域网其他机器的应用程序服务器时“拒绝访问” 在VisData中正常通过,但在程序中不能通过,为什么 图像的小波分解和重构,模极大值算法。 师傅不在QQ,在这里吗?有个问题.//小新的徒弟. 老千,上次的那个rose下载网站,你还记得吗?偶忘了,搜索了几遍野没找到//牛虻 在VisData中正常通过但在程序中不能通过,为什么 向各位高手请教两句:tab_1.post selecttab(3) 的作用是不是向tab发送消息,消息内容是selecttab(3)?yield()是不是从消息中查找是否有相同消息,如果有则将它拿出执行? 我很莱,谁能给我简单的解释一下线程是什么?脱壳是什么? 图象资料,轻而易举30分! 和大家交流一下泛型化编程 文件拷贝的简单问题, 大家好:请问:access的mdb数据库如何编程知道里面含有那几个表? 怎样将mysql驱动加到jbuilder中,让Database pilot能认得出,高分相送 高分求教:关于ADO实现数据库!!!!!!!!!!谢谢 请问如何一次删除数据库中的所有数据? 怎么使label框透明!帮帮我! TNMUDP问题:怎样才能知道RemoteHost连接失败??? 谁有CuteFTP Pro2.0注册码?谢谢 如何进行DropDownList绑定,谢谢! 请问一个CString的问题 那个168查分台太可恶了 WIN98与WIN2000共享一个OFFICE??? 网络连接怎么检测 能把IE浏览器最大吗?俺指的是把右上最大按钮最大化? 怎么判断表单传送的整数中不能有字符,谢谢!!! 如何把我写好的说明书放到我VC++应用程序的帮助文件中? 求最容易理解,最容易上手的数据库书籍,各位老大请指教,谢谢!! 快!快快!!来拿分呀!!!!!!!!一个简单问题。 WIN98与WIN2000共享一个OFFICE 2000??? 在Servlet中如何使用JavaBean(调用其中的方法)?主要是格式!如果网上有这方面的资料也可以告诉我,我急用,不胜感激!40分送上!(只有这些了) 请问各位:怎样才能知道某一个进程所占用的cpu比例,mem大小? 请问在恢复sql 7.0一个数据库文件时,出现Error 3624:这是什么意思?? 关于程序员考试 哪位知道怎么一行一行地读取文本文件呀!!!! 谁知道的,来帮我一下——有关网页浏览计时的问题 如何将数字变为字符串格式化输出? Websphere下使用连接池的一些问题 TNMUDP问题:怎样才能知道RemoteHost连接失败 ? 算法请教,我要调整一副黑白数字图的浓度,我是用直方图的方法好呢,还是先转成HLS在转回来好?若都不对,应该怎么做? 如何 在ASP中用ping 一个小问题 请用javascript VC++6是98年才出来的,为什么没有最新的ADO原生驱动,而通过ODBC的话速度太慢; 多媒体 谁有MPEG-4的资料! 如何实现类似资源管理器的分隔条 我是菜鸟,请教各位GG,MM?????? 我的计算字段怎么老要计算,而且经常有死循环,到底该注意些什么,在哪里控制? 如何取消鼠标右键菜单和使shift功能键无效?(紧急) 一个非常非常简单的一个问题 电动车开关在电瓶上怎么安装 滚动摩擦力的大小不是求有哪些因素和滚动摩擦力有关,而是问:摩擦力的大小和拉力是否有关.比如用10N的力去拉以物体和用5N的力去拉它,摩擦力是否一样. 在一段双轨铁道上,相向而行,A全长180m,B全长160m,两列火车错车时间为1.7秒,A比B每秒快5米,A和B的速度是多少? 电动车电池怎么装 滚动摩擦的摩擦力大小与什么有关?如题 在一段两轨铁路上,两列火车相向驶过,若A列火车全长180m,B列火车全长160m,两列火车的错车时间为4秒,己知A列车的速度比B列车每秒快5m,则A、B两车的速度分别为多少? 电动车可以多装个电瓶吗想电动车能跑的更远点 有没有什么好的办法 能不能多加个电瓶 怎么操作呢?对车子会不会有影响 摩擦力的大小与物体的运动方式有关,对于相同的物体,滚动的摩擦力_,滑动的摩擦力_. 煤气灶火特小怎么回事我是新换的煤气,做饭的时候火特小,没换之前两个都能打火,虽然也不是很大,可最起码能用,现在是特别的小,是怎么回事 一辆汽车在高速公路上的行驶速度是八十千米每时,在107国道上行驶的速度是高速公路上的四分之三,在108国道上行驶速度是在107国道上的三分之一,这辆汽车在108国道上的行驶速度是多少千米 汽油的成分 摩擦力一定是阻力, 一辆汽车在高速公路上b小时行驶了360千米,在普通公路上的速度是每小时t千米.360除以b表示( );360除以b减t表示( ). 如何证明弹簧测力计的示数等于物体所受滑动摩擦力的大小 动摩擦力一定是阻力么? 北汽新能源的E150EV电动汽车能开多少公里? 国3汽油与国2汽油在化学成份上有什么不同? 长200m的火车以43.2km/h的速度匀速行驶在京九线上,当它穿越1000m长的隧道时,所需时间为多少? E150EV充电需要多长时间啊?北汽新能源那个纯电动车 要使弹簧测力计的示数等于木块所受滑动摩擦力的大小,应使木块在弹簧测力计拉力做---运动 已知一列火车长200m,以20m/s的速度通过长1000m的隧道,这列火车完全通过隧道的时间是?、、思路啊 一辆客车在某高速公路上行驶 在经过某直线路段时已知函数y=x/a+1开根号(a<0且a为常数)在区间(-无穷,1】上有意义,求实数a的值 要求必须要有格式 滑动摩擦力的大小为什么等于弹簧测力计的大小(物体匀速滑动) 计算题 : 一列车200m的火车穿过一个长1000m的隧道用了2min 火车的速度多大? 请写清做题步骤这是物理题 武汉哪里有电动车电池修复店 为什么滑动摩擦力的大小等于弹簧测力计的示数 一列长200m的火车以100km/h的速度通过1000m的隧道,这列火车完全通过隧道需要多少秒?这是一道选择题。选项中没有答案是12秒的 。A 70s;B 60s; C 50s D 30S.写出计算过程 车辆转弯打方向盘有哪些技巧 当弹簧测力计水平拉木块沿直线匀速滑动时,滑动摩擦力的大小就等于弹簧测力计的示数,为什么? 一列长200m的火车穿过一个长1000m的隧道用了两分钟,则该火车的速度多大? 小车左后转弯和右后转弯的方法 如何制作汽油制作汽油的技术是什么? 摩擦力属于阻力吗? 车辆在高速公路意外撞击护栏的瞬间,应迅速向相反方将转向躲避这题答案是错误的可是快撞上了我还要朝着相同方向打方向盘吗?那不死的更快?这题没毛病吗? 阻力和摩擦力一样么若一辆车匀速直线运动,则摩擦力与牵引力相等 ,那摩擦力与阻力相等吗?Why 汽车上的阳光传感器是干什么用的……一共有几个……一般都装在什么部位……它的作用是什么.丰田的两个阳光传感器都装在哪里? 静摩擦力等于动摩擦力吗? 下列货车以28.8km/h的速度在铁路上运行,由于调事故,在后面700米出有一列快车以72km/h的速度在行驶,快车司机发觉后立即合上制动器,但快车要滑行2000米才停下(1)两车会相撞吗,说明理由(2) 为什么汽油价格的提高使得汽车销售遭遇尴尬?人们为什么把眼光更多的投向小排量汽车和电动自行车? 动摩擦力与静摩擦力的大小如何?1静摩擦力与动摩擦力的大小有发比较吗?2相互作用的压力是什么意思? 用电水壶烧水电线发热正常吗? 汽油价格的提高使汽车销售下降,人们为什么把眼光更多的投向一新能源汽车和电动自行车! 静摩擦力的大小等于 物体的拉力是不是始终等于滑动摩擦力 汽车构造试题?1.某国产汽车的产品型号名称为:TJ7102B,该汽车按照标准规定,该车属于 . 2.四冲程汽油机每完成一个工作循环要经过进气行程、压缩行程、 、和 四个行 随着人们环保意识的增强,以汽油为燃料的助力车,因汽油价格等因素已逐步退出市场,而电动自行车正得以推广.汽油的热值为4×10^7J/kg,下表为某品牌电动车的性能参数表,最高车速6m/s 一次充电 静摩擦力小于或者等于动摩擦力? 汽车构造习题求解答试计算某四吨载重汽车以60公里/小时的速度等速直线行驶时的阻力及其所能克服的最大坡度(%)原始数据:汽车总重G=8000kg,发动机最大扭矩M=31kg.m.滚动阻力系数f=0.015,空 汽车上各个传感器的作用分别是什么? 静摩擦力的大小与______有关,但是当静摩擦力增大到等于滑动摩擦力的大小时,物体开始滑动,摩擦力就不再变化. 1求简答汽环与油环作用!2为什么有的配汽机构中采用俩个套装的汽门弹簧3限压阀和旁通阀有什么作用4自冲泵汽油机工作过程5四冲泵汽油机工作过程6汽车驱动力如何产生7汽油机和柴油机的 立马电动车好不好?作为立马电动车的用户,非常的不满意.买车还没一个月,刹车就失灵了.碰到紧急状况,直接就撞上去了.保险杠撞扁.去维修处修理,说刹车不灵造成撞车要修理的物件,不关他们 一列长180m的火车匀速通过一个铁路桥,测得火车完全经过所用的时间为半分钟,并且火车速度为72km/h,铁路桥全长 汽车上的电瓶可以安装电动车上吗?我家有好几个欧豹700上的电瓶 我想用一个安装电动车上可以吗 立马电动车大家都别买立马的啊 后悔啊 !亲身经历.买了没多久(也就一周左右 ),电瓶坏了,经销商一开始不给修,墨迹了半天才给修,一开始说的是68V 14安时的电瓶,修回来以后就成了10安时的 在铁道上开汽车追火车的是什么电影? 电动车电池怎样正确安装?自行车式的电动车电池是4块,竖着放置.请问行家怎样才是正确的安装方法?能不能倒着放置?(接线柱朝下) 滚动摩擦力的大小与什么有关?自行车车轮与地面之间的摩擦是滚动摩擦?当自行车轮胎瘪了时骑起来比较费力,是不是可以说滚动摩擦的大小与接触面面积有关? 1、在一段铁路上,两辆火车相向驶过,若A列火车全长180m,B列火车160m,两列火车的错车时间为4秒,已知A列2、敌我两军相距25km,敌军以5km/h的速度逃跑,我军同时以8km/h的速度追击,并在相距1km处发生
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn