DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> 通過重定義CSS,實現網頁內容完美打印輸出
通過重定義CSS,實現網頁內容完美打印輸出
編輯:CSS詳解     

  雖說已是互聯網無所不能的時代,但還是會需要將網頁內容打印出來閱讀。對於網生的電子報、電子期刊這些更適合於在網絡環境中閱讀的內容,怎樣通過打印輸出生成適當的紙媒頁面呢?長時間來,這一直是一個課題。為了寫如下這篇博文,作者對相關問題進行了深入思考,並為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!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved