一区自拍_国产成人精品一区二区三区视频_中文字幕观看_亚洲精品电影在线观看_91在线看_国产中文视频

為什么響應(yīng)式設(shè)計需要媒體查詢

日期:2016/8/5 / 人氣:

沒有 CSS3 的媒體查詢模塊,就不能針對設(shè)備特性(如視口寬度)設(shè)置特定的 CSS 樣式。

如果你仔細(xì)研讀 W3C 關(guān)于 CSS3 媒體查詢模塊的規(guī)范,就會看到媒體查詢的官方解釋: HTML 4 和 CSS 2 目前支持為不同的媒體類型設(shè)定專有的樣式表。

比如,一個頁 面在屏幕上顯示時使用無襯線字體,而在打印時則使用襯線字體。screen 和 print 是兩種已定義的媒體類型。

媒體查詢讓樣式表有更強(qiáng)的針對性,擴(kuò)展了 媒體類型的功能。 媒體查詢由媒體類型和一個或多個檢測媒體特性的條件表達(dá)式組成。媒體查詢 中可用于檢測的媒體特性有 width、height 和 color(等)。使用媒體查詢, 可以在不改變頁面內(nèi)容的情況下,為特定的一些輸出設(shè)備定制顯示效果。

媒體查詢語法

26 第 2章 媒體查詢:支持不同的視口

還可以在 CSS樣式表中使用媒體查詢。例如,將下面的代碼插入樣式表,在屏幕寬度小于等于 400像素的設(shè)備上,h1 元素的文字顏色就會變成綠色。
@media screen and (max-device-width: 400px) {
h1 { color: green }
}
還可以使用 CSS的@import 指令在當(dāng)前樣式表中按條件引入其他樣式表。例如下面的代碼會給視口最大寬度為 360像素的顯示屏設(shè)備加載一個名為 phone.css 的樣式表。
@import url(“phone.css”) screen and (max-width:360px);
切記,使用 CSS的@import 方式會增加 HTTP請求(這會影響加載速度) ,所以請謹(jǐn)慎使用該方法。

2.2 為什么響應(yīng)式設(shè)計需要媒體查詢 25

在現(xiàn)代瀏覽器(如果是 IE,至少要 IE9)中瀏覽該網(wǎng)頁并不斷調(diào)整瀏覽器窗口寬度。頁面的背景顏色就會根據(jù)當(dāng)前的視口尺寸而發(fā)生變化。為了清晰起見,我在這里使用了顏色名稱,但實際上最好使用十六進(jìn)制顏色值,如#ffffff。接下來,讓我們繼續(xù)分析媒體查詢,學(xué)習(xí)如何對其進(jìn)行充分利用。如果經(jīng)常使用 CSS 2樣式表,你就知道可以通過<link>標(biāo)簽的 media 屬性為樣式表指定設(shè)備類型(如顯示屏或打印機(jī))。具體說來,就是在 HTML頁面的<head>標(biāo)簽中插入一
個如下面代碼片段所示的 link 標(biāo)簽:
<link rel=”stylesheet” type=”text/css” media=”screen” href=”screen-styles.css”>
媒體查詢則能使我們根據(jù)設(shè)備的各種功能特性來設(shè)定相應(yīng)的樣式,而不僅僅只針對設(shè)備類型。可以將媒體查詢想象成對瀏覽器的提問。如果瀏覽器回答“是” ,則應(yīng)用樣式;如果回答是“否” ,則不應(yīng)用樣式。相對于在 CSS 2中能且只能問瀏覽器“你是一塊顯示屏嗎?”,媒體查詢能問的問題要多一點。例如,媒體查詢可以問:“你是一塊縱向放置的
顯示屏嗎?”我們看看對應(yīng)的實際代碼:
<link rel=”stylesheet” media=”screen and (orientation: portrait)” href=”portrait-screen.css” />
首先,媒體查詢表達(dá)式詢問了媒體類型(你是一塊顯示屏嗎?),然后詢問了媒體特性(顯示屏是縱向放置的嗎?)。任何縱向放置的顯示屏設(shè)備都會加載 portrait-screen.css樣式表,其他設(shè)備則會忽略該文件。在媒體查詢的開頭追加 not 則會顛倒該查詢的邏輯。
例如,下面的代碼就會顛倒前例中的效果,會使非縱向放置的顯示屏設(shè)備加載樣式文件:
<link rel=”stylesheet” media=”not screen and (orientation: portrait)” href=”portrait-screen.css” />
也可以將多個表達(dá)式組合在一起。如,我們擴(kuò)展一下前面的例子,限制只有視口寬度大于 800像素的顯示屏設(shè)備才能加載文件。
<link rel=”stylesheet” media=”screen and (orientation: portrait) and (min-width:800px)” href=”800wide-portrait-screen.css” />
更進(jìn)一步,還可以寫一個媒體查詢列表。查詢列表中的任意一個查詢?yōu)檎妫瑒t加載文件。
全部查詢都不為真,則不加載。例子如下:
<link rel=”stylesheet” media=”screen and (orientation: portrait) and (min-width:
800px), projection” href=”800wide-portrait-screen.css” />
這里有兩點需要注意。第一,媒體查詢之間使用逗號分隔。第二,你會注意到在projection 之后,沒有 and,也沒有任何特性/值的組合。沒有后續(xù)表達(dá)式,意味著只要是 projection 就滿足條件。本例中,樣式會應(yīng)用于所有的投影儀。
和以前編寫 CSS規(guī)則一樣,基于媒體查詢也可以按條件加載樣式。在上面的例子中,我們在向頁面的<head></head>標(biāo)簽中鏈接 CSS文件時使用了媒體查詢。除此之外,我們
CSS媒體查詢到底長什么樣,更重要的是,它是怎么起作用的?
將下面這段代碼插入到任意某個 CSS文件的最后,然后預(yù)覽與之關(guān)聯(lián)的網(wǎng)頁:
body {
background-color: grey;
}
@media screen and (max-width: 960px) {
body {
background-color: red;
}
}
@media screen and (max-width: 768px) {
body {
background-color: orange;
}
}
@media screen and (max-width: 550px) {
body {
background-color: yellow;
}
}
@media screen and (max-width: 320px) {
body {
background-color: green;
}
}

作者:朋友圈科技


Go To Top 回頂部
主站蜘蛛池模板: 看亚洲一级毛片 | 国产精品一区二区三区网站 | 国产精品亚洲一区 | 亚洲成人精品久久 | 欧美1| 一区二区三区影视 | 女同久久另类99精品国产 | 在线免费观看av片 | 欧美日韩91 | 成人免费视屏 | 欧美日韩一区二区在线播放 | www.成人| 国产区亚洲 | 亚洲视频1区 | 日韩精品av一区二区三区 | 免费黄色在线视频 | 精品一区二区三区不卡 | 国产精品久久久久久久久久 | 狠狠做深爱婷婷久久综合一区 | 欧美2区 | 91高清视频 | 亚洲精品乱码久久久久久蜜桃91 | 99精品欧美一区二区三区 | 91麻豆蜜桃一区二区三区 | 蜜臀久久99精品久久久无需会员 | 精品国产乱码久久久久久闺蜜 | 久久综合一区二区三区 | 久热av中文字幕 | 日韩精品一二区 | 久久福利 | 亚洲成人精品在线观看 | 欧美中文字幕在线 | 日韩一区不卡 | 成人a视频在线观看 | 国产精品一区二区三区网站 | 成人欧美一区二区三区黑人孕妇 | 欧洲精品久久久 | 国产亚洲成av人片在线观看桃 | 国产精品永久免费 | 精品久久国产 | 巨大乳女人做爰 |