響應(yīng)式Web設(shè)計(jì) - 媒體查詢

1. 概述

“響應(yīng)式設(shè)計(jì)(Responsive Design)” 是一種讓網(wǎng)站針對不同的瀏覽器和設(shè)備“呈現(xiàn)”不同顯示效果的策略穆趴,這樣可以讓網(wǎng)站在任何情況下顯示的很棒!媒體查詢是實(shí)現(xiàn)響應(yīng)式設(shè)計(jì)所需的最強(qiáng)大的工具。我們可以使用媒體查詢在不同的顯示設(shè)備上呈現(xiàn)不同的顯示效果,如PC、投影儀谐区、平板、手機(jī)逻卖、打印機(jī)卢佣。

2. 媒體查詢 in CSS2

從 CSS 版本 2 開始,就可以通過媒體類型在 CSS 中獲得媒體支持箭阶。如果您曾經(jīng)使用過打印樣式表虚茶,那么您可能已經(jīng)使用過媒體類型。

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

在上面的代碼示例中仇参,media 屬性定義了應(yīng)該用于指定每種媒體類型的樣式表:

  • screen 適用于計(jì)算機(jī)彩色屏幕嘹叫。
  • print 適用于打印預(yù)覽模式下查看的內(nèi)容或者打印機(jī)打印的內(nèi)容。

3. 媒體查詢 in CSS3

從CSS版本3開始诈乒,媒體查詢作為規(guī)范的一部分罩扇,可以擴(kuò)展媒體類型函數(shù),并允許在樣式表中使用更精確的顯示規(guī)則怕磨。媒體查詢是評估 True 或 False 的一種表達(dá)喂饥。如果為 True,則繼續(xù)使用樣式表肠鲫。如果為 False员帮,則不能使用樣式表。這種簡單邏輯通過表達(dá)式變得更加強(qiáng)大导饲,使您能夠更靈活地對特定的設(shè)計(jì)場景使用自定義的顯示規(guī)則捞高。

3.1 語法說明

@media mediatype and|not|only (media feature) {
    CSS-Code;
}
@media all and (min-width: 800px) and (orientation: landscape) {
...
}

在上面的代碼示例中,寬度大于或等于 800 像素的屏幕(屏幕和打印等)渣锦,且可見區(qū)域?qū)挾却笥诨虻扔诟叨葧r(shí)硝岗,應(yīng)使用其 CSS 規(guī)則。
對于該媒體查詢:

  • @media all 將此 CSS 應(yīng)用于所有媒體類型袋毙。使用 @media 查詢型檀,你可以針對不同的媒體類型定義不同的樣式,特別是如果你需要設(shè)置設(shè)計(jì)響應(yīng)式的頁面听盖,@media 是非常有用的胀溺。當(dāng)你重置瀏覽器大小的過程中裂七,頁面也會根據(jù)瀏覽器的寬度和高度重新渲染頁面。
  • (min-width: 800px) 是包含媒體查詢的表達(dá)式月幌,如果瀏覽器的寬度大于或等于 800 像素碍讯,則會告訴瀏覽器只運(yùn)用下列 CSS悬蔽。
  • (orientation: landscape) 指定輸出設(shè)備中的頁面可見區(qū)域?qū)挾却笥诨虻扔诟叨?/li>

3.2 媒體類型

描述
all 用于所有設(shè)備
print 用于打印機(jī)和打印預(yù)覽
screen 用于電腦屏幕扯躺,平板電腦,智能手機(jī)等
speech 應(yīng)用于屏幕閱讀器等發(fā)聲設(shè)備

3.2 邏輯操作符

  • and 邏輯與
@media not all and (monochrome)
  • or 邏輯或 蝎困。也可以使用,代替
@media screen and (color), print and (color)
@media screen and (color) or print and (color)
  • not 邏輯非录语。如果查詢語句中有,號,那么not只作用到,號的地方
@media not screen and (color), print and (color)
@media not screen and (color) or print and (color)
  • only 僅僅禾乘,只有澎埠。主要用于防止老舊的瀏覽器,不支持帶媒體屬性的查詢始藕,而應(yīng)用到給定的樣式
media="only screen and (min-width: 401px) and (max-width: 600px)"

舊瀏覽器解析為media = "only"蒲稳,則不會識別應(yīng)用其樣式。

media="screen and (min-width: 401px) and (max-width: 600px)"

舊瀏覽器解析為media="screen"伍派,則會識別使用樣式江耀。

3.4 媒體屬性

描述
width 定義輸出設(shè)備中的頁面可見區(qū)域?qū)挾?/td>
height 定義輸出設(shè)備中的頁面可見區(qū)域高度
aspect-ratio 定義輸出設(shè)備中的頁面可見區(qū)域?qū)挾扰c高度的比率width/height
device-width 定義輸出設(shè)備的屏幕可見寬度
device-height 定義輸出設(shè)備的屏幕可見高度
device-aspect-ratio 定義輸出設(shè)備的屏幕可見寬度與高度的比率,如16/9诉植,4/3
orientation 定義輸出設(shè)備中的頁面可見區(qū)域高度是否大于或等于寬度祥国,即是縱向還是橫向
resolution 定義設(shè)備的分辨率。如:96dpi, 300dpi, 118dpcm
color 定義輸出設(shè)備每一組彩色原件的個(gè)數(shù)晾腔。如果不是彩色設(shè)備舌稀,則值等于0,如min-color: 16位灼擂,8位
color-index 定義在輸出設(shè)備的彩色查詢表中的條目數(shù)壁查。如果沒有使用彩色查詢表,則值等于0
monochrome 定義在一個(gè)單色框架緩沖區(qū)中每像素包含的單色原件個(gè)數(shù)剔应。如果不是單色設(shè)備潮罪,則值等于0
grid 用來查詢輸出設(shè)備是否使用柵格或點(diǎn)陣
scan 定義電視類設(shè)備的掃描工序

以上屬性除grid和scan都可以添加min-或max-前綴,表示最小或最大值

3.5 瀏覽器支持

表格中的數(shù)字表示支持 @media 規(guī)則的第一個(gè)瀏覽器的版本號领斥。

Rule Chrome IE Firefox Safari Opera
@media 21 9 3.5 4.0 9

4. 參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嫉到,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子月洛,更是在濱河造成了極大的恐慌何恶,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嚼黔,死亡現(xiàn)場離奇詭異细层,居然都是意外死亡惜辑,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進(jìn)店門疫赎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盛撑,“玉大人,你說我怎么就攤上這事捧搞〉治溃” “怎么了?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵胎撇,是天一觀的道長介粘。 經(jīng)常有香客問我,道長晚树,這世上最難降的妖魔是什么姻采? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮爵憎,結(jié)果婚禮上慨亲,老公的妹妹穿的比我還像新娘。我一直安慰自己宝鼓,他們只是感情好刑棵,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著席函,像睡著了一般铐望。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上茂附,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天正蛙,我揣著相機(jī)與錄音,去河邊找鬼营曼。 笑死乒验,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蒂阱。 我是一名探鬼主播锻全,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼录煤!你這毒婦竟也來了鳄厌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤妈踊,失蹤者是張志新(化名)和其女友劉穎了嚎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡歪泳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年萝勤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了道川。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片醇王。...
    茶點(diǎn)故事閱讀 40,021評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖抹缕,靈堂內(nèi)的尸體忽然破棺而出伶氢,到底是詐尸還是另有隱情趟径,我是刑警寧澤,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布鞍历,位于F島的核電站舵抹,受9級特大地震影響肪虎,放射性物質(zhì)發(fā)生泄漏劣砍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一扇救、第九天 我趴在偏房一處隱蔽的房頂上張望刑枝。 院中可真熱鬧,春花似錦迅腔、人聲如沸装畅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽掠兄。三九已至,卻和暖如春锌雀,著一層夾襖步出監(jiān)牢的瞬間蚂夕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工腋逆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留婿牍,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓惩歉,卻偏偏與公主長得像等脂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子撑蚌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,974評論 2 355