響應(yīng)式布局之媒體查詢(media-queries)

建議學(xué)習(xí)時長: 30分鐘
學(xué)習(xí)方式:深入

學(xué)習(xí)目標(biāo)

  • 了解什么時候用媒體查詢
  • 知道媒體查詢怎么寫

詳細(xì)介紹

CSS媒體查詢允許我們根據(jù)設(shè)備的特性來應(yīng)用不同的樣式申明歇父。如诈乒,我們可以讓 768px 寬度的設(shè)備(ipad) 及以上屏幕內(nèi)容顯示4列撩满,768px 以下的顯示 1列习蓬。

語法

@media開頭來表示這是一條媒體查詢語句旺隙。@media后面的是一個或者多個表達(dá)式荣刑,如果表達(dá)式為真馅笙,則應(yīng)用樣式。如

@media (max-width: 600px) {
  .facet_sidebar {
    display: none;
  }
}

上面的代碼在屏幕寬度小于 600px 的時候嘶摊,會作用大括號里的內(nèi)容延蟹。

媒體查詢可以在 link標(biāo)簽上加media屬性或css文件中使用。

<!-- link元素中的CSS媒體查詢 -->
<link rel="stylesheet" media="(max-width: 800px)" href="example.css" />

<!-- 樣式表中的CSS媒體查詢 -->
<style>
@media (max-width: 600px) {
  .facet_sidebar {
    display: none;
  }
}
</style>

媒體查詢語句結(jié)構(gòu)

由媒體類型 +一到多個CSS屬性判斷組成叶堆,而多個CSS屬性判斷可以用關(guān)鍵字and連接阱飘。媒體類型是可選的,默認(rèn)是全部(all)。

@media screen and (min-width:1024px) and (max-width:1280px) and (animation){
  body{font-size:medium;}
}

max與min

他們是要配合支持它們的屬性使用的,如:

@media (min-width:1000px) and (min-device-width:1500px){
  body{font-size:medium;}
}

邏輯操作符

操作符 not沥匈,and 和 only 可以用來構(gòu)建復(fù)雜的媒體查詢蔗喂。
and 操作符用來把多個 媒體屬性 組合起來,合并到同一條媒體查詢中高帖。只有當(dāng)每個屬性都為
真時缰儿,這條查詢的結(jié)果才為真。
not 操作符用來對一條媒體查詢的結(jié)果進(jìn)行取反散址。
only 操作符表示僅在媒體查詢匹配成功的情況下應(yīng)用指定樣式乖阵。可以通過它讓選中的樣式在老式瀏覽器中不被應(yīng)用预麸。
注意:若使用了 not 或 only 操作符瞪浸,必須明確指定一個媒體類
型。

media query支持的屬性

屬性 是否接受 min/max 前綴 描述
color 整數(shù) yes 每種色彩的字節(jié)數(shù)
device-aspect-ratio 整數(shù)/整數(shù) yes 寬高比例
device-height 整數(shù)+單位 yes 設(shè)備屏幕的輸出高度
device-width 整數(shù)+單位 yes 設(shè)備屏幕的輸出寬度
grid 整數(shù) no 是否是基于格柵的設(shè)備
height 整數(shù)+單位 yes 渲染界面的高度
monochrome 整數(shù) yes 單色幀緩沖器中每像素字節(jié)
resolution 分辨率(“dpi/dpcm”) yes 分辨率
scan Progressive interlaced no tv媒體類型的掃描方
width 整數(shù)+單位 yes 渲染界面的寬度
orientation Portrait/landscape no 橫屏或豎屏

webkit瀏覽器對media query支持的屬性

常見的有

  • transform-2d 只用于支持使用 -webkit-transform實現(xiàn)2D變換的瀏覽器
  • transform-3d 只用于支持使用 -webkit-transform實現(xiàn)3D變換的瀏覽器
  • transition 只用于支持使用-webkit-transition實現(xiàn)變換效果的瀏覽器
  • animation 只用于支持使用-webkit-animation實現(xiàn)動畫的瀏覽器

媒體類型(media type)列表

  • all 所有設(shè)備
  • braille 盲文
  • embossed 盲文打印
  • handheld 手持設(shè)備
  • print 文檔打印或打印預(yù)覽模式
  • projection 項目演示吏祸,比如幻燈
  • screen 彩色電腦屏幕
  • speech 演講
  • tty 固定字母間距的網(wǎng)格的媒體对蒲,比如電傳打字機
  • tv 電視

實例

android手機的多分辨率問題

android系統(tǒng)的開放性導(dǎo)致其終端的多樣性,那么對于各種各樣的android手機來說贡翘,屏幕分辨率的差異導(dǎo)致針對android手機的頁面重構(gòu)復(fù)雜性增加蹈矮,那么我們可以用media query為每種分辨率提供特定樣式:

/* for 240 px width screen */
@media only screen and (max-device-width:240px){
    selector{
    }
}

/* for 360px width screen */
@media only screen and (min-device-width:241px) and (max-device-width:360px){
    selector{
    }
}

/* for 480 px width screen */
@media only screen (min-device-width:361px)and (max-device-width:480px){
    selector{
    }
}

device-aspect-ratio

device-aspect-ratio可以用來適配特定屏幕長寬比的設(shè)備,這也是一個很有用的屬性鸣驱,比如膀跌,我們的頁面想要對長寬比為4:3的普通屏幕定義一種樣式鸦泳,然后對于16:9和16:10的寬屏送悔,定義另一種樣式靠瞎,比如自適應(yīng)寬度和固定寬度:

/* for 4:3 screen */
@media only screen and (device-aspect-ratio:4/3){
    selector{
    }
}

/* for 16:9 and 16:10 screen */
@media only screen and (device-aspect-ratio:16/9) and (device-aspect-ratio:16/10){
    selector{
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末辜御,一起剝皮案震驚了整個濱河市泰涂,隨后出現(xiàn)的幾起案子囚痴,更是在濱河造成了極大的恐慌撬讽,老刑警劉巖赡茸,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缎脾,死亡現(xiàn)場離奇詭異,居然都是意外死亡占卧,警方通過查閱死者的電腦和手機遗菠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來华蜒,“玉大人辙纬,你說我怎么就攤上這事“认玻” “怎么了贺拣?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我譬涡,道長闪幽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任涡匀,我火速辦了婚禮盯腌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘陨瘩。我一直安慰自己腕够,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布舌劳。 她就那樣靜靜地躺著燕少,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蒿囤。 梳的紋絲不亂的頭發(fā)上客们,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機與錄音材诽,去河邊找鬼底挫。 笑死,一個胖子當(dāng)著我的面吹牛脸侥,可吹牛的內(nèi)容都是我干的建邓。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼睁枕,長吁一口氣:“原來是場噩夢啊……” “哼官边!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起外遇,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤注簿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后跳仿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诡渴,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年菲语,在試婚紗的時候發(fā)現(xiàn)自己被綠了妄辩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡山上,死狀恐怖眼耀,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情佩憾,我是刑警寧澤哮伟,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布潭辈,位于F島的核電站,受9級特大地震影響澈吨,放射性物質(zhì)發(fā)生泄漏把敢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一谅辣、第九天 我趴在偏房一處隱蔽的房頂上張望修赞。 院中可真熱鬧,春花似錦桑阶、人聲如沸柏副。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽割择。三九已至,卻和暖如春萎河,著一層夾襖步出監(jiān)牢的瞬間荔泳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工虐杯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留玛歌,地道東北人。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓擎椰,卻偏偏與公主長得像支子,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子达舒,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

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

  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color值朋,font,text-align巩搏,li...
    wzhiq896閱讀 1,732評論 0 2
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color昨登,font,text-align塔猾,li...
    love2013閱讀 2,304評論 0 11
  • 因為有機會參與一個項目的早期設(shè)計篙骡,因此搭建的時候不可避免的遇到了如何滿足響應(yīng)式的問題稽坤。翻閱了《響應(yīng)式Web設(shè)計:H...
    tangyefei閱讀 6,387評論 2 90
  • 搞錯了丈甸,身體需要原料 人體的修復(fù)能力是不是非常的神奇?可以說是無所不能尿褪,人體內(nèi)的一切損傷都能通過修復(fù)而治愈睦擂,而且速...
    璀璨星空888閱讀 613評論 0 1
  • 個人主頁:http://shiyiliang.cn 什么是內(nèi)存泄露 通俗的講:不在使用的對象,其內(nèi)存不能回收杖玲,導(dǎo)致...
    稻田上的稻草人閱讀 386評論 0 4