Media Queries——媒體類型

隨著科學技術(shù)不斷的向前發(fā)展,網(wǎng)頁的瀏覽終端越來越多樣化,用戶可以通過:寬屏電視针史、臺式電腦、筆記本電腦碟狞、平板電腦和智能手機來訪問你的網(wǎng)站啄枕。盡管你無法保證一個網(wǎng)站在不同屏幕尺寸和不同設(shè)備上看起來完全一模一樣,但至少要讓你的Web頁面能適配用戶的終端族沃,讓他更好的呈現(xiàn)在你的用戶面前频祝。在本節(jié)中,將會學到如何使用CSS3中的Media Queries模塊來讓一個頁面適應(yīng)不同的終端(或屏幕尺寸)脆淹,從而讓你的頁面讓用戶有一個更好的體驗常空。

Media Queries

Media Queries是CSS3新增加的一個模塊功能,其最大的特色就是通過CSS3來查詢媒體盖溺,然后調(diào)用對應(yīng)的樣式漓糙。其實這個功能在CSS2.1中就有出現(xiàn)過,只不過那個時候此功能并不強大烘嘱,我們最常見的就是給打印設(shè)備添加打印樣式昆禽。隨著時代的變化,這個模塊功能越來越強大拙友。

在徹底的了解Media Queries我們需要了解其中的兩個重要部分为狸,第一個是媒體類型,第二個是媒體特性遗契。下面的內(nèi)容我們簡單的來了解這兩個部分:

一、媒體類型

媒體類型(Media Type)在CSS2中是一個常見的屬性病曾,也是一個非常有用的屬性牍蜂,可以通過媒體類型對不同的設(shè)備指定不同的樣式漾根。

在CSS2中常碰到的就是all(全部)、screen(屏幕)鲫竞、print(頁面打印或打印預覽模式)辐怕,其實媒體類型遠不止這三種,W3C總共列出了10種媒體類型从绘。如下所示:
設(shè)備類型All
所有設(shè)備Braille
盲人用點字法觸覺回饋設(shè)備Embossed
盲文打印機Handheld
便攜設(shè)備Print
打印用紙或打印預覽視圖Projection
各種投影設(shè)備Screen
電腦顯示器Speech
語音或音頻合成器Tv
電視機類型設(shè)備Tty
使用固定密度字母柵格的媒介寄疏,比如電傳打字機和終端
其中Screen、All和Print為最常見的三種媒體類型僵井。

在實際中媒體類型有近十種之多陕截,實際之中常用的也就那么幾種,不過媒體類型的引用方法也有多種批什,常見的有:link標簽农曲、@import和CSS3新增的@media幾種:

link方法

link方法引入媒體類型其實就是在<link>標簽引用樣式的時候,通過link標簽中的media屬性來指定不同的媒體類型驻债。如下所示乳规。

<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
<link rel="stylesheet" type="text/css" href="print.css" media="print" />

@import方法
@import可以引用樣式文件,同樣也可以用來引用媒體類型合呐。@import引入媒體類型主要有兩種方式暮的,一種是在樣式中通過@import調(diào)用另一個樣式文件;另一種方法是在<head></head>標簽中的<style></style>中引入淌实,但這種使用方法在IE6~7都不被支持青扔,如樣式文件中調(diào)用另一個樣式文件時,就可以指定對應(yīng)的媒體類型翩伪。

@importurl(reset.css) screen;   
@importurl(print.css) print;

在<head>中的<style>標簽中引入媒體類型方法微猖。

<head>
<style type="text/css">
    @importurl(style.css) all;
</style>
</head>

@media方法

@media是CSS3中新引進的一個特性,被稱為媒體查詢缘屹。在頁面中也可以通過這個屬性來引入媒體類型凛剥。@media引入媒體類型和@import有點類似也具有兩方式。

(1)在樣式文件中引用媒體類型:

@media screen {
選擇器{/你的樣式代碼寫在這里…/}
}
(2)使用@media引入媒體類型的方式是在<head>標簽中的<style>中引用轻姿。

<head>
<style type="text/css">
    @media screen{
    選擇器{/*你的樣式代碼寫在這里…*/}
}
</style>
</head>

Media Queries使用方法

了解完這些概念性的東西犁珠,同學們最想知道的是Media Queries要如何使用?下面我們一起來探討其使用方法:

Media Queries能在不同的條件下使用不同的樣式互亮,使頁面在不同在終端設(shè)備下達到不同的渲染效果犁享。前面簡單的介紹了Media Queries如何引用到項目中,但Media Queries有其自己的使用規(guī)則豹休。具體來說,Media Queries的使用方法如下炊昆。

@media 媒體類型and (媒體特性){你的樣式}
注意:使用Media Queries必須要使用“@media”開頭,然后指定媒體類型(也可以稱為設(shè)備類型),隨后是指定媒體特性(也可以稱之為設(shè)備特性)凤巨。媒體特性的書寫方式和樣式的書寫方式非常相似视乐,主要分為兩個部分,第一個部分指的是媒體特性敢茁,第二部分為媒體特性所指定的值佑淀,而且這兩個部分之間使用冒號分隔。例如:

(max-width: 480px)
從前面表中可以得知彰檬,主要有十種媒體類型和13種媒體特性伸刃,將其組合就類似于不同的CSS集合。但與CSS屬性不同的是逢倍,媒體特性是通過min/max來表示大于等于或小于做為邏輯判斷捧颅,而不是使用小于(<)和大于(>)這樣的符號來判斷。接下來一起來看看Media Queries在實際項目中常用的方式瓶堕。

  1. 最大寬度max-width

“max-width”是媒體特性中最常用的一個特性隘道,其意思是指媒體類型小于或等于指定的寬度時,樣式生效郎笆。如:

@media screen and (max-width:480px){
.ads {
display:none;
}
}
上面表示的是:當屏幕小于或等于480px時,頁面中的廣告區(qū)塊(.ads)都將被隱藏谭梗。

2.最小寬度min-width
“min-width”與“max-width”相反,指的是媒體類型大于或等于指定寬度時宛蚓,樣式生效激捏。

@media screen and (min-width:900px){
.wrapper{width: 980px;}
}
上面表示的是:當屏幕大于或等于900px時,容器“.wrapper”的寬度為980px凄吏。

3.多個媒體特性使用
Media Queries可以使用關(guān)鍵詞"and"將多個媒體特性結(jié)合在一起远舅。也就是說,一個Media Query中可以包含0到多個表達式痕钢,表達式又可以包含0到多個關(guān)鍵字图柏,以及一種媒體類型。

當屏幕在600px~900px之間時任连,body的背景色渲染為“#f5f5f5”蚤吹,如下所示。

@media screen and (min-width:600px) and (max-width:900px){
body {background-color:#f5f5f5;}
}
4.設(shè)備屏幕的輸出寬度Device Width
在智能設(shè)備上随抠,例如iPhone裁着、iPad等,還可以根據(jù)屏幕設(shè)備的尺寸來設(shè)置相應(yīng)的樣式(或者調(diào)用相應(yīng)的樣式文件)拱她。同樣的二驰,對于屏幕設(shè)備同樣可以使用“min/max”對應(yīng)參數(shù),如“min-device-width”或者“max-device-width”秉沼。

<link rel="stylesheet" media="screen and (max-device-width:480px)" href="iphone.css" />
上面的代碼指的是“iphone.css”樣式適用于最大設(shè)備寬度為480px桶雀,比如說iPhone上的顯示矿酵,這里的“max-device-width”所指的是設(shè)備的實際分辨率,也就是指可視面積分辨率背犯。

  1. not關(guān)鍵詞
    使用關(guān)鍵詞“not”是用來排除某種制定的媒體類型坏瘩,也就是用來排除符合表達式的設(shè)備盅抚。換句話說漠魏,not關(guān)鍵詞表示對后面的表達式執(zhí)行取反操作,如:

@media not print and (max-width: 1200px){樣式代碼}
上面代碼表示的是:樣式代碼將被使用在除打印設(shè)備和設(shè)備寬度小于1200px下所有設(shè)備中妄均。

6.only關(guān)鍵詞
only用來指定某種特定的媒體類型柱锹,可以用來排除不支持媒體查詢的瀏覽器。其實only很多時候是用來對那些不支持Media Query但卻支持Media Type的設(shè)備隱藏樣式表的丰包。其主要有:支持媒體特性的設(shè)備禁熏,正常調(diào)用樣式,此時就當only不存在邑彪;表示不支持媒體特性但又支持媒體類型的設(shè)備瞧毙,這樣就會不讀樣式,因為其先會讀取only而不是screen寄症;另外不支持Media Queries的瀏覽器宙彪,不論是否支持only,樣式都不會被采用有巧。如

<linkrel="stylesheet" media="only screen and (max-device-width:240px)" href="android240.css" />
在Media Query中如果沒有明確指定Media Type释漆,那么其默認為all,如:

<linkrel="stylesheet" media="(min-width:701px) and (max-width:900px)" href="mediu.css" />
另外在樣式中篮迎,還可以使用多條語句來將同一個樣式應(yīng)用于不同的媒體類型和媒體特性中男图,指定方式如下所示。

<linkrel="stylesheet" type="text/css" href="style.css" media="handheld and (max-width:480px), screen and (min-width:960px)" />
上面代碼中style.css樣式被用在寬度小于或等于480px的手持設(shè)備上甜橱,或者被用于屏幕寬度大于或等于960px的設(shè)備上逊笆。

到目前為止,CSS3 Media Queries得到了眾多瀏覽器支持岂傲,除了IE6-8瀏覽器不支持之外难裆,在所有現(xiàn)代瀏覽器中都可以完美支持。還有一個與眾不同的時譬胎,Media Queries在其他瀏覽器中不要像其他CSS3屬性一樣在不同的瀏覽器中添加前綴差牛。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市堰乔,隨后出現(xiàn)的幾起案子偏化,更是在濱河造成了極大的恐慌,老刑警劉巖镐侯,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侦讨,死亡現(xiàn)場離奇詭異驶冒,居然都是意外死亡,警方通過查閱死者的電腦和手機韵卤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門骗污,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人沈条,你說我怎么就攤上這事需忿。” “怎么了蜡歹?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵屋厘,是天一觀的道長。 經(jīng)常有香客問我月而,道長汗洒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任父款,我火速辦了婚禮溢谤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘憨攒。我一直安慰自己世杀,他們只是感情好,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布浓恶。 她就那樣靜靜地躺著玫坛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪包晰。 梳的紋絲不亂的頭發(fā)上湿镀,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天,我揣著相機與錄音伐憾,去河邊找鬼勉痴。 笑死,一個胖子當著我的面吹牛树肃,可吹牛的內(nèi)容都是我干的蒸矛。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼胸嘴,長吁一口氣:“原來是場噩夢啊……” “哼雏掠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起劣像,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤乡话,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后耳奕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绑青,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡诬像,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了闸婴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坏挠。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖邪乍,靈堂內(nèi)的尸體忽然破棺而出降狠,到底是詐尸還是另有隱情,我是刑警寧澤溺欧,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布喊熟,位于F島的核電站柏肪,受9級特大地震影響姐刁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜烦味,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一聂使、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谬俄,春花似錦柏靶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至钥勋,卻和暖如春炬转,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背算灸。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工扼劈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人菲驴。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓荐吵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親赊瞬。 傳聞我的和親對象是個殘疾皇子先煎,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Media Queries Media Queries是CSS3新增加的一個模塊功能,其最大的特色就是通過CSS3...
    Mandy_jin閱讀 1,104評論 0 0
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color巧涧,font薯蝎,text-align,li...
    wzhiq896閱讀 1,754評論 0 2
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color褒侧,font良风,text-align谊迄,li...
    love2013閱讀 2,314評論 0 11
  • Media Queries——媒體類型(一) 隨著科學技術(shù)不斷的向前發(fā)展,網(wǎng)頁的瀏覽終端越來越多樣化烟央,用戶可以通過...
    _雙眸閱讀 468評論 0 0
  • CSS參考手冊 一统诺、初識CSS3 1.1 CSS是什么 CSS3在CSS2.1的基礎(chǔ)上增加了很多強大的新功能。目前...
    沒汁帥閱讀 3,584評論 1 13