雖說已是互聯網無所不能的時代,但還是會需要將網頁內容打印出來閱讀。對於網生的電子報、電子期刊這些更適合於在網絡環境中閱讀的內容,怎樣通過打印輸出生成適當的紙媒頁面呢?長時間來,這一直是一個課題。為了寫如下這篇博文,作者對相關問題進行了深入思考,並為Bits O' NewMedia網站編寫了適於打印輸出的樣式表,現將相關經驗分享給大家。
設定適於打印輸出的樣式表
這並不象想象中那麼難,第一步要做的是復制原用的CSS文件,將其命名為print_style.CSS,接下來,就是要在其首行加入語句:
<link rel="stylesheet" type="text/css" media="print" href="print_style.CSS" />
我們看到,這一條語句惟一特別的地方在於,media參數被賦值為"print"。而如果在頁面內加入了這樣的一條語句,那麼再執行file>>print(文件>>打印)指令時,print_style.CSS樣式表就會替代原有的樣式表被調用。
注意:如果是IE6或是Firefox用戶,就一定要將網絡鏈接標記樣式中的media參數賦值為 "screen",否則,打印出來的頁面內容會發生出血的問題,以及其他一些問題。IE7用戶就不用擔心了。
完善頁面的主體部分
現在,我們來調整一下頁面主體相關的參數。一般情況下,網頁的主體部分都會有背景色或是背景圖案。我們現在就要將背景去除,以確保打印出來的頁面相對整潔。當然,多數浏覽器默認支持在打印時自動去除背景,但還是要手動調整一下來得保險。
同時,還要考慮為將打印樣式表中的color參數賦值為#000或"black"。彩色的文字在網頁上看起來固然很眩,但要輸出如此色彩眩麗的頁面,就會耗費相當昂貴的墨水。
接下來,我們要調整的就是margin參數了,系統默認的頁邊距設置一般都會比較小,我們現在試著為左、右邊距各增加3em,可以通過語句margin 0em 3em 0em 3em來實現。
調整分欄版式參數
我們都知道,並不是所有的網頁內容都有必要打印出來的,比如說導航條,在網頁上是必要信息,但打印出來就純屬浪費頁面了。這時,我們就需要在打印樣式表中對那些沒有必要打印出來的選項,添加屬性"display: none"。
同時,為了讓所有的內容都完美地垂直排列在打印出的頁面上,而不是一個接一個地堆在頁面上,就需要對每一個必打項的float參數賦數為"none",或干脆直接將float參數項刪去。
還要為每一個必打項的width參數賦值為"auto"。這樣,對於利用div標記對頁面進行了分欄的時候,就可以確保分欄的內容能夠自動填滿頁面。以下為打印樣式表的編寫內容示例:
div.template_fill_wrapper_top{
display: none;
}
div.template_fill_wrapper_middle{
margin: 0;
width: auto;
text-align: center;
clear: both;
}
In the web stylesheet
div.template_fill_wrapper_top{
overflow:hidden;
text-align:center;
background-color: #313131;
height: 48px;
overflow: hidden;
}
div.template_fill_wrapper_middle{
margin: 0 auto;
text-align: left;
padding-top:10px;
clear:both;
}
PX參數下課,Em及PT上位
一般情況下,在為網頁編寫樣式表時,針對間距、寬、高、頁邊距及字體大小等參數,我們習慣用pixel或em度量單位。這主要是由於數碼顯示器一般是采用像素及字符寬度為顯示單位的。而對於打印機來說,像素單位就不好使了,需要將原來使用像素單位的間距、寬、高、頁邊距等值轉換為em單位值;而字體大小則需被轉換為磅值(建議將字體大小設置在9pt~11pt之間)。.
以下即為Bits O' NewMedia網站的打印樣式表示例:
body {
margin: 0em 3em 0em 3em;
padding: 0;
border: 0;
color: black;
background: white;
font: normal 10pt "Bakersville Old Face", "Times New Roman", Times, serif;
text-align: left;
}
成果驗收
要使每一位網站用戶都有一個好的體驗,作為力求完美的網站建設者,就要經歷無數次的試驗、失敗、調整、再試驗......我們堅信這樣做的結果一定會為你帶來無限成就感。
如下所示為Bits O' NewMedia網站中某一篇文章的打印效果預覽截圖,你也可以通過以上的打印樣式表調整步驟,打印出理想的頁面來。
Wish you every success!