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

PHP中文网
發布: 2017-06-21 09:32:11
原創
2688 人瀏覽過

相信大多數的前端工程師都是處理顯示器上面的設計,用到最多的計量單位就是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>標籤定義基礎字體大小-- 使用"點"單位.

<br/>body {<br/><br/>  font-family: "Times New Roman", serif;<br/><br/>  font-size: 12pt;<br/><br/>  }

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

<br/>
登入後複製
登入後複製
登入後複製
(2)隱藏不必要的標籤節省墨水

#nav, #sidebar, #advertising, #search {<br/><br/>  display: none;<br/><br/>  }<br/>

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

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

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板