本文比較詳細(xì),所以很多實際中用不到。所以如果只是想簡單了解Media Queries,推薦參考 CSS3 Media Queries 。
CSS2.1定義了 Media 的部分,包括類型、組別和規(guī)則等。CSS并非為了顯示器而創(chuàng)造,而是應(yīng)用于各種各樣的媒體,比如常見的顯示器,越來愈多的手持設(shè)備,可能略顯過時的電視機等等。
而 Media Queries 的引入,其作用就是允許添加表達(dá)式用以確定媒體的情況,以此來應(yīng)用不同的樣式表。換句話說,其允許我們在不改變內(nèi)容的情況下,改變頁面的布局以精確適應(yīng)不同的設(shè)備,以此加強體驗。所以Media Queries和CSS優(yōu)化沒有關(guān)系,甚至是矛盾的。
引用CSS3 Media Queries里的直觀的 DEMO,當(dāng)瀏覽器寬度改變時,應(yīng)用的CSS發(fā)生變化。而這些,原本需要 JavaScript 的控制才能做到。
Web移動化的趨勢越加明顯。雖然國內(nèi)受到很多制約,但是這種浪潮卻無法阻擋。前段時間jQuery宣布mobile項目,也加速了這種變化。Media Queries 不久的將來應(yīng)該就會被更多的使用,以更好的支持新興設(shè)備比如iPad。事實上, jQuery 甚至有 Media Queries的插件。
看看 Media Queries 做了什么
一個三欄布局,在屏幕變窄的情況下,變成1欄布局,甚至是消除多余兩欄而只留下通常的內(nèi)容的第2欄。Media Queries是如何工作的?先看看 link 標(biāo)簽的寫法:
代碼:
在media屬性里:
screen 是媒體類型里的一種,CSS2.1定義了10種媒體類型
and 被稱為關(guān)鍵字,其他關(guān)鍵字還包括 not(排除某種設(shè)備),only(限定某種設(shè)備)