CSS2 的 Media Queries 可以容許大家設定 打印版CSS ,有用過的人都知道其用途。而今次 CSS3 就提升了 Media Queries 的實用性,可以辨識出更多的 Media Type。例如在同一個樣式表內,為不同解像度的瀏覽器提供不同的樣式。
使用 CSS3 Media Queries
示範網頁:http://qkla.com/demo/css3-media-queries/
調整瀏覽器的視窗大小,再看看其變化。
Max Width
瀏覽器的視窗大小少於 760 像素 (即少於或等於759像素) 時,便會運用以下的 CSS 。
@media screen and (max-width: 759px) { ... }
Min Width
瀏覽器的視窗大小大於 1000 像素 (即大於或等於1001像素) 時,便會運用以下的 CSS 。
@media screen and (min-width: 1001px) { ... }
混合使用
你可以選擇結合多個 media queries 。以下的示範為瀏覽器的視窗大小少於或等於 1000 像素 及 大於或等於 760 像素。
@media screen and (max-width: 1000px) and (min-width: 760px) { ... }
Device Width
當設備的大小等於 max-device-width 時,指定的 CSS 便會運行。
註:max-device-width 是指設備的實際解折度,而 max-width / min-width 則是指當前瀏覽器的視窗大小。
@media screen and (max-device-width: 480px) { ... }
獨立的樣式表
如果想額外增加一個樣式表,只要在 內加入:
<link rel="stylesheet" media="screen and (max-device-width: 480px)" href="iphone.css" />
在 IE 運用
IE 8 或更舊的版本不支援新的 media query ,所以就要用 Javascript 來實現。以下為一些參考。
http://code.google.com/p/css3-mediaqueries-js
http://plugins.jquery.com/project/MediaQueries
* Media Queries 對瀏覽器支持情況:
http://caniuse.com/#search=css-media
實例參考
Hicksdesign
The Celebrated Miscellany
總結
Media Queries 只是其中一種協助編寫流動版網頁的功能,並不代表能將你的網頁優化。假如你的網頁所用的圖像處理不好,也不會在流動設備上顯示出好效果。
這裏有個小參考,是關於在iPhone顯示上的圖像處理。