指定媒體的兩種方法
W3C中有兩種方法能為CSS制定媒體類型.在本章開(kāi)頭示范了其中一種方法,也就是使用<link>標(biāo)簽與media屬性,接著讓我們比較看看這兩種方法.
方法A:Media屬性
<link rel="stylesheet" type="text/css" media="screen" href="screenstyles.css" />
與稍早的例子類似,方法A里指定只對(duì)電腦屏幕使用screenstyles.css,如此應(yīng)該能避免在打印,投影,使用手持設(shè)備瀏覽,使用屏幕閱讀器之類的時(shí)候套用screenstyles.css內(nèi)的規(guī)則.
部分支持
有個(gè)重點(diǎn)必須留意,那就是嚴(yán)格支持所有媒體類型有點(diǎn)不切實(shí)際,在理想世界里,所有裝置與瀏覽器都應(yīng)該嚴(yán)格遵守指定的媒體類型,舉例來(lái)說(shuō),如果寫(xiě)了:
<link rel="stylesheet" type="text/css" media="handheld" href="screenstyles.css" />
那么就會(huì)希望只有手持設(shè)備(像是PDA,手提電話等)會(huì)套用這些樣式,不幸的是,標(biāo)準(zhǔn)內(nèi)容在本文編寫(xiě)的時(shí)候似乎還沒(méi)有普及到瀏覽器之外的世界,因此并不是任何設(shè)備都支持與其對(duì)應(yīng)的媒體類型.
由于這個(gè)道理,我們會(huì)把焦點(diǎn)放在能夠?qū)嶋H應(yīng)用的媒體類型上,比如說(shuō)打印樣式.
方法B:@media或@import
<style type="text/css"> @import url("screenstyles.css") screen; @media print { /* 打印時(shí)使用的樣式放置在此 */ } </style>
第二種指定媒體類型的方法是結(jié)合@import和@media聲明.舉例來(lái)說(shuō),當(dāng)我們以@import引入外部樣式表時(shí),能夠一并為它指定媒體類型.
同樣的,@media規(guī)則能夠隔出針對(duì)某種特定媒體的規(guī)則段落,與方法A類似,以@media指定專門(mén)用于打印的樣式.
放在<head>里或者放在外部
在方法A里放了<style>標(biāo)簽作為例子,它應(yīng)該位于文件的<head>內(nèi),但是也能把@import與@media放在以<link>標(biāo)簽引用的外部樣式表里(參考第10章的"結(jié)合方法B與方法C應(yīng)用多重樣式表").
雖然指定媒體類型時(shí)screen是預(yù)設(shè)值,但沒(méi)有指定媒體類型時(shí)會(huì)以all作為預(yù)設(shè)值.這代表,根據(jù)預(yù)設(shè),CSS會(huì)應(yīng)用到所有設(shè)備上,屏幕,手持設(shè)備,投影機(jī),屏幕朗讀程序等等.
可以使用多重設(shè)定
不管使用哪種方法,都能一次指定許多媒體類型,舉例來(lái)說(shuō),如果想以方法A同時(shí)為打印,屏幕指定某個(gè)樣式表,那么可以這樣寫(xiě):
<link rel="stylesheet" type="text/css" media="screen, print" href="screenstyles.css" />
多重設(shè)定值在media屬性里要用逗號(hào)隔開(kāi),同樣的,如果我們以方法B指定多種媒體類型時(shí),寫(xiě)法則類似這樣:
<style type="text/css"> @import url("screenandprint.css") screen, print; @media print { /* 打印時(shí)使用的樣式放置于此 */ } </style>
在前面的例子中,通過(guò)指定多重媒體類型,把screenandprint.css同時(shí)給屏幕顯示和打印媒體使用,接著再以@media規(guī)則隔開(kāi)打印專用的樣式.
看過(guò)兩種指定媒體類型的方法之后,接著來(lái)看看如何實(shí)際以它們提供屏幕顯示與打印時(shí)使用的樣式.
出處:藍(lán)色理想
責(zé)任編輯:moby
上一頁(yè) 標(biāo)記語(yǔ)言——打印樣式 [1] 下一頁(yè) 標(biāo)記語(yǔ)言——打印樣式 [3]
◎進(jìn)入論壇網(wǎng)頁(yè)制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|