多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > htmlcss > 把XHTML+CSS頁面轉換成為打印機頁面

把XHTML+CSS頁面轉換成為打印機頁面

來源:程序員人生   發布時間:2014-02-16 16:43:44 閱讀次數:2686次
在以前,為Web頁面創建一個打印機友好的版本意味著要設計一個布局和格式都經過修改的單獨頁面,這樣才能夠在打印的時候獲得令人滿意的效果。現在,通過使用結構化的XHTML和CSS,你可以實現同樣的效果而只用花費少得多的精力。

從屏幕顯示到打印效果

大多數的Web頁面都是設計適用于在計算機屏幕上觀看的。然而,有的時候用戶需要將某些頁面打印出來,也許就是為了保留一個長期的記錄,或者將其用作方便的離線參考資料。

現在的麻煩是,讓Web頁面在計算機彩色屏幕上看起來引人注目和五彩繽紛的很多特性,都無法在打印版的Web頁面上表現出相同的效果——尤其當打印機是黑白的時候。在被降級為灰度打印的時候,彩色的組合會失去(原有的)對比效果;圖形會看起來失真,而且耗費太長的打印時間;在Web頁面上起著重要作用的導航按鈕在打印頁面上也毫無用處。

為了克服這些問題,Web的創建者常常會為頁面專門設計一個打印機友好的版本,這樣訪問者就有打印的欲望。打印機友好的版本通常都包括有和主要Web頁面相同的內容,但是會省略掉大多數的圖形、背景和導航元素。頁面還會把彩色轉換成某種形式,以便生成能夠讓人接受的灰度圖像。

CSS的解決方案

使用結構化的XHTML標示和CSS格式將內容和表示分離開來的一個優勢在于,通過更改CSS樣式,你可以很輕易就把內容重新格式化。因此,創建一個打印機友好的頁面就是把一個不同的CSS文件鏈接到相同的XHTML頁面上。

你可以同時把屏幕樣式表和打印樣式表鏈接到同一個XHTML文件里,所以就沒有必要單獨創建一個打印機友好的頁面,只需要一個打印機友好的樣式表就行了。當你在鏈接代碼里加入多媒體類型的文件時,這就是在告訴瀏覽器為了進行屏幕輸出要遵循或者忽略哪些CSS的規則,而為了打印輸出要使用哪些規則。

下面是鏈接到一對CSS文件的例子:

************************************************************


/>


*************************************************************

如果需要支持老版本的瀏覽器,那你就必須堅持使用CSS1的媒體描述符screen和print。它們是相互排斥的,因此在為屏幕顯示而生成頁面的時候,瀏覽器會忽略掉打印樣式表,反之亦然。所以,每個樣式表都需要包含相同的樣式選擇器,但是有不同的規則聲明,以便為不同的輸出設備分別生成頁面樣式。

簡化CSS

如果你愿意放棄照顧老版本的瀏覽器,并假設你的用戶正在使用支持CSS2的瀏覽器(比如說IE5及以上版本或者Netscape 6及以上版本),你可以使用新的all媒體描述符來極大地簡化CSS代碼。

下面就是使用CSS2媒體描述符的鏈接的例子:

************************************************************



************************************************************

這些鏈接幾乎和前面的完全一樣;不同之處在于CSS文件里包含有用于打印媒體的樣式。

CSS文件里同media="all"聯系在一起的樣式可以應用于屏幕顯示、打印,以及其他所有的媒體,所以你可以把所有創建的樣式都放到這個文件里。同media="print"單獨聯系在一起的CSS文件可以小得多,因為頁面從所有的媒體文件繼承了所有的樣式,這就沒有必要再復制打印媒體文件里的這些樣式了。

打印媒體CSS文件里唯一需要的樣式是那些為打印輸出而更改或者添加頁面樣式。一般來說,這只不過是一些禁止顯示包含有圖形和導航內容的div的樣式,和把主體標簽以及主要div的寬度和空白設置替換成適合打印輸出的設置。

這個技巧能夠起作用是因為所有的媒體CSS文件和打印媒體CSS文件都組合成了相同的層疊樣式規則。因此,對這些CSS文件的鏈接順序相當重要。所有的媒體文件鏈接都必須要放在打印媒體文件鏈接之前。

下面是一些關于使用打印媒體CSS文件的提示:

如果禁止某個div的顯示,就要使用display: none而不能用visibility: hidden。
點(pt)和英寸(in)都不是用于屏幕顯示的正確度量單位,但是它們是打印輸出的正確度量單位。
在打印媒體文件里使用的選擇器要和你在所有媒體文件里使用的選擇器完全相同。例如,如果你使用div#sidenav來選擇所有媒體文件里id為sidenav的div,那么在打印媒體文件里使用#sidenav就可能無法成功地達到你的目的。

不要忘記明確地強制替代從一個文件到另一個文件都會發生改變的規則聲明。例如,如果你在所有的媒體文件里為一個元素設置了padding,并希望在打印輸出里去掉這個padding,那么在打印媒體文件里加入一個忽略padding聲明的樣式是不夠的——你必須明確地設置padding: 0pt,以取代前面的設置。

如果你正在使用諸如Dreamweaver這樣的圖形編輯器,你就可以預覽生成頁面的屏幕效果,而不是打印輸出的效果。要在Dreamweaver的設計(Design)查看窗里預覽打印樣式,就要把到打印媒體CSS文件的鏈接改成media="screen"。這就讓你可以預覽打印媒體文件里的CSS樣式。不要忘了在發布你的頁面之前把媒體描述符改回到media="print"。

當你需要為自己的訪問者提供一個打印機友好的Web頁面,你不再需要為原有的頁面創建一個單獨的版本。添加一個對帶有media="print"媒體描述符的CSS樣式表的鏈接,就能夠把任何XHTML/CSS頁面轉換成為一個打印機友好的頁面。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品国产日韩久久亚洲 | 日本美女一级黄色片 | 欧美精品在线免费 | 久久一区二区免费播放 | 欧美日韩精品一区二区在线线 | 欧美日韩在线视频播放 | 亚洲aⅴ| 成年人视频免费在线观看 | 日韩欧美亚洲每日更新网 | 在线观看中文字幕国产 | 午夜伦伦| 性猛交xxxx乱大交孕妇 | 国产精品香蕉在线观看不卡 | 视频一区二区精品的福利 | 18videosex性欧美69超高清 | 欧美ⅹxxxhd3d| 男女上下爽无遮挡午夜免费视频 | 欧美在线观看一区 | 中国黄色毛片 大片 | 小说区视频区图片区 | 黄色网址中文字幕 | 国产精品嫩草影院99av视频 | 色人阁在线观看 | 波多野结衣在线观看一区二区 | 日韩中文字幕久久精品 | 中文有码| 亚洲精品福利在线 | 婷婷色伊人 | 亚洲噜噜噜噜噜影院在线播放 | 香蕉免费看一区二区三区 | 国产精品久久九九 | 国产成人精品日本亚洲专 | 亚洲欧美中文字幕 | 性xxxxx外性hd | 亚洲欧美高清 | 日韩欧美亚洲综合一区二区 | 国产亚洲精品久久久久久久网站 | 中文字幕第12页 | 欧美激情亚洲激情 | 久久er国产精品免费观看8 | 亚洲午夜久久久久中文字幕久 |