在 CSS2 中,你能夠爲不一樣的媒介設備(如屏幕、打印機)指定專用的樣式表,而如今藉助 CSS3 的 Media Queries 特性,能夠更爲有效的實現這個功能。你能夠爲媒介類型添加某些條件,檢測設備並採用不一樣的樣式表。css
例如,你能夠把用於大屏幕上顯示的樣式和用於移動設備的專用樣式放在一個樣式文檔中,這樣,在不改變文檔內容的狀況下,不一樣的設備能夠呈現不一樣的界面外觀。閱讀這篇文章學習 CSS3 Media Queries 的基本功能和國外使用 CSS3 的 Media Queries 特性的優秀網站案例。html
看下這個 在線演示,調整你的瀏覽器窗口尺寸,看看它的變化。jquery
下面的樣式會在可視區域的寬度小於 600px 的時候被應用。git
1
2
3
4
5
|
.class {
background
:
#ccc
;
}
}
|
若是你想連接到一個單獨的樣式表,把下面的代碼放在<head>標籤裏。github
1
|
<link rel=
"stylesheet"
media=
"screen and (max-width: 600px)"
href=
"small.css"
/>
|
下面的樣式會在可視區域的寬度大於 900px 的時候被應用。web
1
2
3
4
5
|
.class {
background
:
#666
;
}
}
|
你還能夠使用過個匹配條件,下面的樣式會在可視區域的寬度在 600px 和 900px 之間的時候被應用。瀏覽器
1
2
3
4
5
|
.class {
background
:
#333
;
}
}
|
下面的樣式會在 max-device-width 是 480px 的設備上觸發。(提示:max-device-width 是設備的實際分辨率,而 max-width 指的是可視區域分辨率。)iphone
1
2
3
4
5
|
.class {
background
:
#000
;
}
}
|
下面的樣式是爲 iPhone 4 專門寫的 (做者: Thomas Maier)。佈局
1
|
<link rel=
"stylesheet"
media=
"only screen and (-webkit-min-device-pixel-ratio: 2)"
type=
"text/css"
href=
"iphone4.css"
/>
|
你還能夠使用 media query 在 iPad 上檢測方向(portrait or landscapse) (做者: Cloud Four)。學習
1
2
|
<link rel=
"stylesheet"
media=
"all and (orientation:portrait)"
href=
"portrait.css"
>
<link rel=
"stylesheet"
media=
"all and (orientation:landscape)"
href=
"landscape.css"
>
|
遺憾是的,IE8 及更老版本的瀏覽器不支持 CSS3 Media Queries,不過能夠使用 Javascript 彌補,下面是一些解決方案:
附:CSS3 Media Queries 瀏覽器兼容性表
須要在下面這些支持 Media Queries 特性的瀏覽器中瀏覽:IE9+, Firefox, Chrome 和 Safari。瀏覽每一個站點,看頁面佈局是如何響應瀏覽器窗口變化的。
大尺寸: 3 列側欄
較小尺寸: 2 列表側欄 (中間一列降低到左邊的列)
更小尺寸: 1 列側欄 (右列上移到標誌下方)
最小尺寸: 沒有側欄 (LOGO及右列上移,其餘側邊欄列移到底部)
頁面的佈局會根據瀏覽器的尺寸在1列,2列和4列之間切換。
大尺寸: 導航在頂部,圖片只有一行。
中等尺寸: 導航在左邊,圖片變成3列。
小尺寸: 導航在頂部,LOGO沒有了背景圖片,圖片變成3列。
這個和前面的 Colly 很像,不過這個案例中的圖片也會隨着佈局的變化而變化。技巧是使用百分比設置元素的寬度。
請記住:爲移動設備優化了樣式表並不意味着你的網站就適合在移動設備顯示了。要作到真正的移動設備優化,要削減圖像大小、標籤數量和加載的資源尺寸等等。CSS3 Media Queries 是用於設計的呈現,而不是優化。