將XHTML CSS頁(yè)面轉(zhuǎn)換為打印機(jī)頁(yè)面
來(lái)源:易賢網(wǎng) 閱讀:814 次 日期:2016-06-24 14:15:16
溫馨提示:易賢網(wǎng)小編為您整理了“將XHTML CSS頁(yè)面轉(zhuǎn)換為打印機(jī)頁(yè)面”,方便廣大網(wǎng)友查閱!

在以前,為Web頁(yè)面創(chuàng)建一個(gè)打印機(jī)友好的版本意味著要設(shè)計(jì)一個(gè)布局和格式都經(jīng)過(guò)修改的單獨(dú)頁(yè)面,這樣才能夠在打印的時(shí)候獲得令人滿意的效果?,F(xiàn)在,通過(guò)使用結(jié)構(gòu)化的XHTML和CSS,你可以實(shí)現(xiàn)同樣的效果而只用花費(fèi)少得多的精力。 從屏幕顯示到打印效果 大多數(shù)的Web頁(yè)面都

在以前,為Web頁(yè)面創(chuàng)建一個(gè)打印機(jī)友好的版本意味著要設(shè)計(jì)一個(gè)布局和格式都經(jīng)過(guò)修改的單獨(dú)頁(yè)面,這樣才能夠在打印的時(shí)候獲得令人滿意的效果?,F(xiàn)在,通過(guò)使用結(jié)構(gòu)化的XHTML和CSS,你可以實(shí)現(xiàn)同樣的效果而只用花費(fèi)少得多的精力。

從屏幕顯示到打印效果

大多數(shù)的Web頁(yè)面都是設(shè)計(jì)適用于在計(jì)算機(jī)屏幕上觀看的。然而,有的時(shí)候用戶需要將某些頁(yè)面打印出來(lái),也許就是為了保留一個(gè)長(zhǎng)期的記錄,或者將其用作方便的離線參考資料。

現(xiàn)在的麻煩是,讓W(xué)eb頁(yè)面在計(jì)算機(jī)彩色屏幕上看起來(lái)引人注目和五彩繽紛的很多特性,都無(wú)法在打印版的Web頁(yè)面上表現(xiàn)出相同的效果——尤其當(dāng)打印機(jī)是黑白的時(shí)候。在被降級(jí)為灰度打印的時(shí)候,彩色的組合會(huì)失去(原有的)對(duì)比效果;圖形會(huì)看起來(lái)失真,而且耗費(fèi)太長(zhǎng)的打印時(shí)間;在Web頁(yè)面上起著重要作用的導(dǎo)航按鈕在打印頁(yè)面上也毫無(wú)用處。

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

CSS的解決方案

使用結(jié)構(gòu)化的XHTML標(biāo)示和CSS格式將內(nèi)容和表示分離開來(lái)的一個(gè)優(yōu)勢(shì)在于,通過(guò)更改CSS樣式,你可以很輕易就把內(nèi)容重新格式化。因此,創(chuàng)建一個(gè)打印機(jī)友好的頁(yè)面就是把一個(gè)不同的CSS文件鏈接到相同的XHTML頁(yè)面上。

你可以同時(shí)把屏幕樣式表和打印樣式表鏈接到同一個(gè)XHTML文件里,所以就沒(méi)有必要單獨(dú)創(chuàng)建一個(gè)打印機(jī)友好的頁(yè)面,只需要一個(gè)打印機(jī)友好的樣式表就行了。當(dāng)你在鏈接代碼里加入多媒體類型的文件時(shí),這就是在告訴瀏覽器為了進(jìn)行屏幕輸出要遵循或者忽略哪些CSS的規(guī)則,而為了打印輸出要使用哪些規(guī)則。

下面是鏈接到一對(duì)CSS文件的例子:

以下為引用的內(nèi)容:

<linkrel="stylesheet"type="text/css"media="screen"href="mysite-screen.css"/>

<linkrel="stylesheet"type="text/css"media="print"href="mysite-print.css"/>

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

簡(jiǎn)化CSS

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

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

以下為引用的內(nèi)容:

<linkrel="stylesheet"type="text/css"media="all"href="mysite-all.css"/>

<linkrel="stylesheet"type="text/css"media="print"href="mysite-print2.css"/>

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

CSS文件里同media="all"聯(lián)系在一起的樣式可以應(yīng)用于屏幕顯示、打印,以及其他所有的媒體,所以你可以把所有創(chuàng)建的樣式都放到這個(gè)文件里。同media="print"單獨(dú)聯(lián)系在一起的CSS文件可以小得多,因?yàn)轫?yè)面從所有的媒體文件繼承了所有的樣式,這就沒(méi)有必要再?gòu)?fù)制打印媒體文件里的這些樣式了。

打印媒體CSS文件里唯一需要的樣式是那些為打印輸出而更改或者添加頁(yè)面樣式。一般來(lái)說(shuō),這只不過(guò)是一些禁止顯示包含有圖形和導(dǎo)航內(nèi)容的div的樣式,和把主體標(biāo)簽以及主要div的寬度和空白設(shè)置替換成適合打印輸出的設(shè)置。

這個(gè)技巧能夠起作用是因?yàn)樗械拿襟wCSS文件和打印媒體CSS文件都組合成了相同的層疊樣式規(guī)則。因此,對(duì)這些CSS文件的鏈接順序相當(dāng)重要。所有的媒體文件鏈接都必須要放在打印媒體文件鏈接之前。

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

如果禁止某個(gè)div的顯示,就要使用display:none而不能用visibility:hidden。

點(diǎn)(pt)和英寸(in)都不是用于屏幕顯示的正確度量單位,但是它們是打印輸出的正確度量單位。

在打印媒體文件里使用的選擇器要和你在所有媒體文件里使用的選擇器完全相同。例如,如果你使用div#sidenav來(lái)選擇所有媒體文件里id為sidenav的div,那么在打印媒體文件里使用#sidenav就可能無(wú)法成功地達(dá)到你的目的。

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

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

當(dāng)你需要為自己的訪問(wèn)者提供一個(gè)打印機(jī)友好的Web頁(yè)面,你不再需要為原有的頁(yè)面創(chuàng)建一個(gè)單獨(dú)的版本。添加一個(gè)對(duì)帶有media="print"媒體描述符的CSS樣式表的鏈接,就能夠把任何XHTML/CSS頁(yè)面轉(zhuǎn)換成為一個(gè)打印機(jī)友好的頁(yè)面。

更多信息請(qǐng)查看網(wǎng)頁(yè)制作
易賢網(wǎng)手機(jī)網(wǎng)站地址:將XHTML CSS頁(yè)面轉(zhuǎn)換為打印機(jī)頁(yè)面
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
相關(guān)閱讀網(wǎng)頁(yè)制作

2025國(guó)考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)