<轉>CSS3 Media Queries 實現響應式設計

來源:互聯網
上載者:User

標籤:des   style   blog   http   java   使用   

在 CSS2 中,你可以為不同的媒介裝置(如螢幕、印表機)指定專用的樣式表,而現在藉助 CSS3 的 Media Queries 特性,可以更為有效實現這個功能。你可以為媒介類型添加某些條件,檢測裝置並採用不同的樣式表。

  例如,你可以把用於大螢幕上顯示的樣式和用於行動裝置的專用樣式放在一個樣式文檔中,這樣,在不改變文檔內容的情況下,不同的裝置可以呈現不同的介面外觀。閱讀這篇文章學習 CSS3 Media Queries 的準系統和國外使用 CSS3 的 Media Queries 特性的優秀網站案例。

CSS3 Media Queries

看下這個 線上示範,調整你的瀏覽器視窗尺寸,看看它的變化。

Max Width

下面的樣式會在可視地區的寬度小於 600px 的時候被應用。

12345 @media screen and (max-width: 600px) {  .class {    background: #ccc;  }}

如果你想連結到一個單獨的樣式表,把下面的代碼放在<head>標籤裡。

1 <link rel="stylesheet" media="screen and (max-width: 600px)" href="small.css" />
Min Width

下面的樣式會在可視地區的寬度大於 900px 的時候被應用。

12345 @media screen and (min-width: 900px) {  .class {    background: #666;  }}
Multiple Media Queries

你還可以使用過個匹配條件,下面的樣式會在可視地區的寬度在 600px 和 900px 之間的時候被應用。

12345 @media screen and (min-width: 600px) and (max-width: 900px) {  .class {    background: #333;  }}
Device Width

下面的樣式會在 max-device-width 是 480px 的裝置上觸發。(提示:max-device-width 是裝置的實際解析度,而 max-width 指的是可視地區解析度。)

12345 @media screen and (max-device-width: 480px) {  .class {    background: #000;  }} 
For iPhone 4

下面的樣式是為 iPhone 4 專門寫的 (作者: Thomas Maier)。

1 <link rel="stylesheet" media="only screen and (-webkit-min-device-pixel-ratio: 2)" type="text/css" href="iphone4.css" /> 
For iPad

你還可以使用 media query 在 iPad 上檢測方向(portrait or landscapse) (作者: Cloud Four)。

12 <link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css"> <link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css"> 
Media Queries for IE

遺憾是的,IE8 及更老版本的瀏覽器不支援 CSS3 Media Queries,不過可以使用 Javascript  彌補,下面是一些解決方案:

  • CSS Tricks - using jQuery to detect browser size
  • The Man in Blue - using Javascript
  • jQuery Media Queries Plugin

附:CSS3 Media Queries 瀏覽器安全色性表

 

CSS3 Media Queries 應用案例

需要在下面這些支援 Media Queries 特性的瀏覽器中瀏覽:IE9+, Firefox, Chrome 和 Safari。瀏覽每個網站,看頁面配置是如何響應瀏覽器視窗變化的。

Hicksdesign
  • 大尺寸: 3 列側欄
  • 較小尺寸: 2 列表側欄 (中間一列下降到左邊的列)
  • 更小尺寸: 1 列側欄 (右列上移到標誌下方)
  • 最小尺寸: 沒有側欄 (LOGO及右列上移,其他側邊欄列移到底部)

Colly

頁面的布局會根據瀏覽器的尺寸在1列,2列和4列之間切換。

A List Apart
  • 大尺寸: 導航在頂部,圖片只有一行。
  • 中等尺寸: 導航在左邊,圖片變成3列。
  • 小尺寸: 導航在頂部,LOGO沒有了背景圖片,圖片變成3列。

Tee Gallery

這個和前面的 Colly 很像,不過這個案例中的圖片也會隨著布局的變化而變化。技巧是使用百分比設定元素的寬度。

總結

  請記住:為行動裝置最佳化了樣式表並不意味著你的網站就適合在行動裝置顯示了。要做到真正的行動裝置最佳化,要削減映像大小、標籤數量和載入的資源尺寸等等。CSS3 Media Queries 是用於設計的呈現,而不是最佳化。

【參考文章】

* 《What are CSS Media Querie》

* 《WebDesignWall:CSS3 Media Queries》

* 《Can I use CSS3 Media Queries?》

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.