首頁  >  文章  >  web前端  >  網頁列印樣式CSS該如何操作?

網頁列印樣式CSS該如何操作?

PHP中文网
PHP中文网原創
2017-06-21 09:32:112684瀏覽

相信大多數的前端工程師都是處理顯示器上面的設計,用到最多的計量單位就是px,但是有些時候,我們難免也會有列印的需求,例如一個電商平台的「物流配送列印單”,“打印訂單”等等可能都是需要從網友上打印出來的,這個時候如果還是按照自己以前寫網頁的思路寫打印單頁面,最後打印出來的效果會不是很理想。下面我們就來看看有什麼注意的事項。

 

一、在說之前!我們先來理解兩個概念,一個是px,一個是pt

1、px就是表示pixel,像素,是屏幕上显示数据的最基本的点;px是一个点,它不是自然界的长度单位,可以画的很小,也可以很大。如果点很小,那画面就清晰,称它为“分辨率高”,反之,就是“分辨率低”。所以,“点”的大小是会“变”的,也称为“相对长度”。
<span style="font-size: 14px">2、<span style="color: #ff0000"><strong>pt</strong></span>就是point,是印刷行业常用单位,等于1/72英寸,确切的说法是一个专用的印刷单位“磅”,以它是一个自然界标准的长度单位,也称为“<span style="color: #ff0000">绝对长度</span>”。<br/><br/></span>
<span style="font-size: 14px">在网页设计中,用户的屏幕的基本单位是px,因此用px作为单位是最简单也最容易理解的,而用pt作为单位也不过是通过了Windows的设置乘上了一个比率转变成px再显示。<br/></span>
<span style="font-size: 14px">如果使用Word和Photoshop的主要目的仅仅是为了输出打印。<span style="font-size: 14px">使用pt就更方便</span>,当打印到实体时,pt作为一个自然长度单位就方便实用了:比如Word中普通的文档都用“宋体 9pt”,标题用“黑体 16pt”等等,无论电脑怎么设置,打印出来永远就是这么大。<br/>总结:<br/></span>
<span style="font-size: 14px"> px:pixel,像素,屏幕上显示的最小单位,用于网页设计,直观方便;<br/></span>
  pt:point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;
  em:即%,在CSS中,1em=100%,是一个比率,结合CSS继承关系使用,具有灵活性。
  PPI(DPI):pixel(dot)per inch,每英寸的像素(点)数,是一个率,表示了“清晰度”,“精度”
<br/>
 PX和PT转换的公式:
  以前在文章中介绍过PX和PT的转换规则,pt=px乘以3/4。<br/><br/>  如12px×3/4=9pt大小。<br/><br/>  PX和em转换的公式:<br/><br/>  对于PX转em的方法也类似,就是em=16乘以px,也就是说1.5em=1.5×16=24px<br/><br/>
二、理解了上面的概念,我们再来具体看看怎么优化网页打印样式:<br/>首先,我们可以准备2套样式,一套正常的css网页展示的样式,另一套专门给打印的时候用的CSS样式,只要用户打印,就会通过媒体查询自动用打印的专门样式。这样,既可以在浏览器很好展示效果,也不影响具体打印出来的效果。<br/>
//正常浏览器用的样式
<link rel="stylesheet" type="text/css" media="screen" href="/css/styles.css?1.1.10" />
//专门打印用的样式
<link rel="stylesheet" type="text/css" media="print" href="/css/print.css?1.1.10" />
<br/>
其中media指定的属性就是设备,显示器上就是screen,打印机则是print,电视是tv,投影仪是projection。

透過將styles.css包含的樣式只會對電腦螢幕使用,相同的,把media屬性設為print就能確保print.css包含的樣式只在用戶打印頁面時使用. 

專門打印樣式中的一些優化:

(1)用點數指定大小

在列印樣式表裡,用點數制定字體大小是件十分合理的事情.在這份列印樣式表中,首先就為< ;body>標籤定義基礎字體大小-- 使用"點"單位.


body {

  font-family: "Times New Roman", serif;

  font-size: 12pt;

  }

比起用像素單位來說,這個應該更能想像12點字體會印多大,同時我們也選用serif字體,這種字體印出來比較細緻,而且比較容易閱讀.

<br/>
(2)隱藏不必要的標籤節省墨水

#nav, #sidebar, #advertising, #search {

  display: none;

  }

透過在列印樣式表裡設定display:none;我們就能讓列印結果隱藏掉這些元素.

(3)去掉背景图片和颜色<br/>
body {<br/><br/>  background: none;<br/><br/>  } 
这个方法去掉其他标签在屏幕样式里指定的背景图片,颜色.这样做节省墨水,且让打印结果更好阅读<br/><br/>
<span style="font-size: 16px"><strong> 三、打印样式表注意事项:</strong></span><br><span style="font-size: 14px"> 1、打印样式表中最好不要用背景图片,因为打印机不能打印CSS中的背景。如要显示图片,请使用html插入到页面中。</span><br><span style="font-size: 14px"> 2、最好不要使用像素作为单位,因为打印样式表要打印出来的会是实物,所以建议使用pt和cm。</span><br><span style="font-size: 14px"> 3、隐藏掉不必要的内容。(@print div{display:none;})</span><br><span style="font-size: 14px"> 4、打印样式表中最好少用浮动属性,因为它们会消失。<br> 7、如果想要知道打印样式表的效果如何,直接在浏览器上选择打印预览就可以了。</span>
 <br/>
 <br/>

以上是網頁列印樣式CSS該如何操作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn