直接将HTML页面打印页面的设计

2016-02-20 00:04 42 1 收藏

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的直接将HTML页面打印页面的设计,过去的都会过去,迎接崭新的开始,释放更美好的自己。

【 tulaoshi.com - Web开发 】

在网站的一些应用中需要提供用户直接打印页面的功能,最明显的就是电子优惠券,商家根据网站提供的模板输入内容,然后生成优惠券页面,用户打印这个页面即是优惠券。

当然最优的做法是根据这个页面生成一个图片文件,用户下载这个图片再去打印,打印的效果就不会受浏览器的设置而受影响打印出来的效果。

但如果由于一些原因,为了快速或者节约成本,不去将页面存为图片文件的操作,那么就只有直接将HTML页面直接打印下来,这样就需要在对页面的设计中有一些额外的要求,这里提出两个地方需要注意:

1.对style标签的属性设置:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

style type=text/css media=print

这里表示该style内引入或者定义的样式属性仅仅在打印的时候使用,这里提醒一下,如果没有设置media属性,那么定义的样式将在浏览器和打印时都起效,所以建议将类似这样的样式放在所有常规样式之后。比如我们希望在打印出来的页面上有一行打印与雅虎口碑网,但在浏览器中并不现实:

p class=printTitle打印与雅虎口碑网/p

那么我们就可以在统一样式中设置.printTitle{display:none;},而在后面的media为print的样式中设置为.printTitle{display:block;}。在定义的打印样式并不是在打印时的优先级会高于常规定义的样式,所以再次建议将打印样式放在所有常规样式之后。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

2.在页面打印的时候浏览器的设置会对打印的效果有影响,在IE中的工具–Internet选项–高级中有一个打印背景颜色和图像,类似的在Firefox中文件–页面设置中有一个打印背景颜色和图像,当这个选项被选中的时候,页面中的背景颜色和图片都可以打印出来(有些不标准的IE内核浏览器似乎有些问题,背景颜色可以打印出来,但是背景图片不行),如果没有选中则背景颜色和图片都无法打印出来,所以为了屏蔽用户不同的浏览器和浏览器设置,我建议两点,第一是在用背景色填充的区域作为分界的地方加上1px的边框,颜色和背景色一样,这样在浏览器中看不出来变化,而在打印的时候即使用户的设置导致背景色无法打印出来也可以有一个边框来作为分割,最大层的上保留了页面格局;第二是对所有必不可少的图片都使用img/标签,这样无论用户浏览器怎么设置都可以将这些图片打印出来,可能这样与平时一些页面设计方式不同,但为了统一打印的效果,也只要让步了。

我这里简单的提出了一些在实际运用中遇到的问题,如果大家还有什么新的问题和想法,可提出来共同谈论,在这里先抛砖了;

来源:https://www.tulaoshi.com/n/20160220/1631181.html

延伸阅读
标签: Web开发
1、Iframe: iframe src="top1.html" frameBorder="0" width="900" scrolling="no" height="90"/iframe 2、Behavior的download方式 span id=show/span IE:Download ID="oDownload" STYLE="behavior:url(#default#download)" / script function onDownloadDone(downDate){ showImport.innerHTML=downDate } oDownload.startDownload('b...
标签: ASP
  大家经常遇到再ie中打印表格时需要隐藏一些不需要打印的对象,比如说按钮,输入框,或者希望莫个表格显示的时候表格线是由颜色的,而打印的时候只需要有粗细之分,其实在css中可以设定在打印或者显示的不同样式,最近作了一个应用(实属逼上梁山),可以得到以上效果,下面是我的样式表。。。。 <style type="text/css" me...
标签: Web开发
1、Iframe: iframe src="top1.html" frameBorder="0" width="900" scrolling="no" height="90"/iframe 2、Behavior的download方式 span id=show/span IE:Download ID="oDownload" STYLE="behavior:url(#default#download)" / script function onDownloadDone(downDate){ showImport.innerHTML=downDate } oDownload.startDownload('b...
标签: Web开发
前段时间有个asp页面执行起来很慢,访问人数又颇多,而且又不经常修改,又懒得直接做成静态的,每次都要从服务器下载来改,只好想办法把asp页面转化成htm静态页面了。。。 以前就曾经看到这样的文章,不过没太在意,真正想用的时候很难找到一个合适的,于是在网上搜索了半天终于找到比较合适的代码再加上自己的修改,如下: % ...
标签: Web开发
我想让textarea中写的html页面显示为html形式      我知道有htmledit之类的工具   我用不了他的那么多的功能     我只要简单的显示就可以了 1楼 如果你只为显示的话,可以用document.write()      如果还要编辑的话,我觉得你可能还是要用htm...

经验教程

629

收藏

45
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部