欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

CSS3的media query學(xué)習(xí)攻略

segmentfault   發(fā)布時(shí)間:2015-07-21 17:54:04   作者:qiu_deqing   我要評論
這篇文章主要介紹了CSS3的media query學(xué)習(xí)攻略,media query的媒體查詢經(jīng)常被用于設(shè)計(jì)響應(yīng)式網(wǎng)頁,需要的朋友可以參考下

一個(gè)媒體查詢(media query)包含一個(gè)媒體類型(media type)和至少一個(gè)表達(dá)式,用媒體特性限制樣式表的作用范圍。
語法

媒體查詢包含一個(gè)媒體類型(media type)以及一個(gè)到多個(gè)測試媒體特性(media feature)的表達(dá)式,表達(dá)式和媒體類型將根據(jù)實(shí)際情況計(jì)算的到true或者false。如果指定的媒體類型符合當(dāng)前設(shè)備并且媒體特性表達(dá)式都為真,那當(dāng)前媒體查詢?yōu)檎妗?/p>

當(dāng)一個(gè)media query為true時(shí),對應(yīng)的樣式表按照正常樣式規(guī)則生效。指定了media query的<link>中的樣式始終會(huì)下載。

除非使用了not或者only操作符,media type是可選的,默認(rèn)值為all。
邏輯運(yùn)算符
and:用于結(jié)合多個(gè)媒體特性(media feature)到一個(gè)media query

只有所有feature表達(dá)式為真且滿足媒體類型時(shí)整個(gè)media query才為真。

以下是一個(gè)簡單media query,用于檢測media type為all時(shí)的一個(gè)media feature:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. @media (min-width700px) {}  

當(dāng)我們需要添加限制條件是,可以使用and完成目的如下:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. @media (min-width700px) and (orientation: landscape) {}  

上面的media query只有在viewport大于700px并且width &bt; height時(shí)生效。此時(shí)如果需要限制媒體類型為彩色電腦顯示器,可以使用and添加media type如下:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. @media screen and (min-width700px) and (orientation: landscape) {}  

,逗號運(yùn)算符:用于結(jié)合多個(gè)media query,任一media query為true時(shí)應(yīng)用樣式。

逗號運(yùn)算符相當(dāng)于邏輯運(yùn)算符中的or。逗號分隔的每一個(gè)media query都需要進(jìn)行單獨(dú)求值,使用在某一個(gè)media query上的其他運(yùn)算符不會(huì)影響到其他media query。

如果需要在大于700px寬的所有設(shè)備或者寬度大于高度的彩色電腦屏幕上應(yīng)用樣式,可以使用如下規(guī)則:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. @media (min-width700px), screen and (orientation: landscape) {}  

not:用于對整個(gè)media query結(jié)果取反,必須位于一個(gè)media query的開頭

在逗號分隔的多個(gè)media query中,not只對它作用的media query生效。not不能對單個(gè)media feature取反,只能作用于整個(gè)media query

例1:如下面的not將在最后求值:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. @media not all and (monochrome) {}  

等價(jià)于下面的query:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. @media not (all and (monochrome)) {}  

例2:下面的多個(gè)media query求值

CSS Code復(fù)制內(nèi)容到剪貼板
  1. @media not screen and (color), print and (color) {}  

求值順序如下:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. @media (not (screen and (color))), print and (color) {}  

only:用于向早期瀏覽器隱藏媒體查詢,only必須位于media query的開頭

CSS Code復(fù)制內(nèi)容到剪貼板
  1. @media (not (screen and (color))), print and (color) {}  

無法識別媒體查詢的瀏覽器要求獲得逗號分割的媒體類型列表,規(guī)范要求:它們應(yīng)該在第一個(gè)不是連字符的非數(shù)字、字母之前截?cái)嗝總€(gè)值。所以上面的示例解釋為:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. @media only {}  

因?yàn)闆]有only這樣的媒體類型,所以樣式表被忽略。如果不加only,下面的示例

CSS Code復(fù)制內(nèi)容到剪貼板
  1. @media screen and (min-width400px) and (max-width600px) {}  

被解析為@media screen {}這樣一來即使瀏覽器不知道m(xù)edia query的真正含義,樣式也會(huì)應(yīng)用于所有屏幕設(shè)備。不幸的是,IE6-8未能正確實(shí)現(xiàn)該規(guī)范。沒有將樣式應(yīng)用到所有屏幕的設(shè)備,它將整個(gè)樣式表忽略掉。

盡管存在此行為,如果希望向其他不太常用的瀏覽器隱藏樣式,任然建議在媒體查詢前面添加only。
媒體類型(media type)

    all:適用與所有設(shè)備
    print:paged material and documents viewed on screen in print previe mode.
    screen: 彩色電腦顯示器
    speech:intended for speech synthesizers

注意:CSS2.1和CSS3 media query定義了tty, tv, projection, handheld, braille, embossed, aural這些media type,但是它們在media queries 4 中都廢棄了,所以不推薦使用了
媒體特性(media feature)

下面是一些media feature,不是全部

    width: viewport width
    height: viewport height
    aspect-ratio: viewport的寬高比如:16/9
    orientation: 寬度和高度的大小關(guān)系。。
    resolution: pixel density of the output device
    scan: scanning process of the output device
    grid: is the device a grid or bitmap
    color: number of bits per color component of the output device, or zero if the device isn't color
    color-index: number of entries in the output device's color lookup table, or zero if the device does not use such a table

media query常用方法
排他(exclusive)

為確保在某一個(gè)條件下只有一個(gè)樣式表生效,將查詢條件嚴(yán)格劃分,如下面:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. @media (max-width400px) {   
  2.     html {   
  3.         backgroundred;   
  4.     }   
  5. }   
  6.   
  7. @media (min-width401px) and (max-width800px) {   
  8.     html {   
  9.         backgroundgreen;   
  10.     }   
  11. }   
  12.   
  13. @media (min-width801px) {   
  14.     html {   
  15.         backgroundblue;   
  16.     }   
  17. }  

覆蓋(overriding)

可以對元素設(shè)置相同優(yōu)先級,使用樣式順序,通過覆蓋,避免排他

CSS Code復(fù)制內(nèi)容到剪貼板
  1. @media (min-width400px) {   
  2.     html {   
  3.         backgroundred;   
  4.     }   
  5. }   
  6.   
  7. @media (min-width600px) {   
  8.     html {   
  9.         backgroundgreen;   
  10.     }   
  11. }   
  12.   
  13. @media (min-width800px) {   
  14.     html {   
  15.         backgroundblue;   
  16.     }   
  17. }  

無線端優(yōu)先(Mobile first)

默認(rèn)樣式假設(shè)為移動(dòng)設(shè)備寬度,然后通過min-width控制擴(kuò)展樣式

CSS Code復(fù)制內(nèi)容到剪貼板
  1. html {   
  2.     backgroundred;   
  3. }   
  4.   
  5. @media (min-width600px) {   
  6.     html {   
  7.         backgroundgreen;   
  8.     }   
  9. }  

PC優(yōu)先(desktop first)

默認(rèn)以寬屏進(jìn)行樣式設(shè)置,通過max-width控制樣式覆蓋

CSS Code復(fù)制內(nèi)容到剪貼板
  1. html {   
  2.     backgroundred;   
  3. }   
  4.   
  5. @media (max-width600px) {   
  6.     html {   
  7.         backgroundgreen;   
  8.     }   
  9. }  

 

相關(guān)文章

  • 設(shè)計(jì)適用于打印的CSS樣式

    這篇文章主要介紹了設(shè)計(jì)適用于打印的CSS樣式,特別適用于生成文件類型的頁面直接打印使用,需要的朋友可以參考下
    2015-07-09
  • CSS控制漂亮的網(wǎng)頁打印效果示例代碼

    網(wǎng)頁打印效果的實(shí)現(xiàn)并不難,下面為大家介紹下如何通過css控制漂亮的網(wǎng)頁打印效果,感興趣的朋友不要錯(cuò)過
    2013-10-12
  • 將XHTML CSS頁面轉(zhuǎn)換為打印機(jī)頁面

    在以前,為Web頁面創(chuàng)建一個(gè)打印機(jī)友好的版本意味著要設(shè)計(jì)一個(gè)布局和格式都經(jīng)過修改的單獨(dú)頁面,這樣才能夠在打印的時(shí)候獲得令人滿意的效果?,F(xiàn)在,通過使用結(jié)構(gòu)化的XHTML和
    2009-04-02
  • CSS實(shí)現(xiàn)強(qiáng)制瀏覽器分頁

    網(wǎng)頁制作Webjx文章簡介:CSS相對比較弱,例如: 自動(dòng)分頁, 就基本沒啥實(shí)際用途。我們通常需要自己在需要的時(shí)候,強(qiáng)制瀏覽器分頁.  雖然webjx.com向大家
    2009-04-02
  • 將XHTML CSS頁面轉(zhuǎn)換為打印機(jī)頁面

      在以前,為Web頁面創(chuàng)建一個(gè)打印機(jī)友好的版本意味著要設(shè)計(jì)一個(gè)布局和格式都經(jīng)過修改的單獨(dú)頁面,這樣才能夠在打印的時(shí)候獲得令人滿意的效果?,F(xiàn)在,通過使用結(jié)構(gòu)化的XHT
    2008-10-17
  • 詳解CSS3中@media的實(shí)際使用

    這篇文章主要介紹了詳解CSS3中@media的實(shí)際使用,是CSS3入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-08-04
  • 詳解CSS3中Media Queries的相關(guān)使用

    這篇文章主要介紹了詳解CSS3中Media Queries的相關(guān)使用,是CSS3入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-07-17
  • CSS media queries

    最近在做一些頁面打印時(shí)的特殊處理接觸到了media queries,想系統(tǒng)學(xué)習(xí)一下,在MOZILLA DEVELOPER NETWORK看到一篇文章講的很不錯(cuò),結(jié)合自己的使用總結(jié)一下
    2013-08-29
  • CSS3 Media Queries(響應(yīng)式布局可以讓你定制不同的分辨率和設(shè)備)

    Media Queries這功能是非常強(qiáng)大的,他可以讓你定制不同的分辨率和設(shè)備,并在不改變內(nèi)容的情況下,讓你制作的web頁面在不同的分辨率和設(shè)備下都能顯示正常,并且不會(huì)因此而丟
    2013-06-06
  • 徹底弄明白CSS3的Media Queries(跨平臺(tái)設(shè)計(jì))

    CSS3的Media Queries 完美解決網(wǎng)站與手機(jī)跨平臺(tái)設(shè)計(jì).
    2010-07-27

最新評論