行動裝置上的媒體查詢 CSS media queries for mobile device

來源:互聯網
上載者:User

標籤:

     如今試圖解決android平板的螢幕解析度問題,眼下主要想到的辦法是採用響應式設計和媒體查詢,發現不管使用那種方式,工作量都非常大,調試都困難,悲催啊。

      CSS的媒體查詢儘管在傳統的互連網頁面可能發揮的餘地不是非常大,可是自從蘋果和安卓的風靡之後,移動平台上的web開發變得越來越流行了,同一時候CSS的媒體查詢可謂派上了大用場了。

下面為翻譯內容,原文來自這裡 很棒的一篇文章

 

關於CSS media queries想瞭解很多其它,參看這裡


怎樣使用Media Queries媒體查詢:

 

媒體查詢就像是一個CSS選取器或者假設你接觸過資料庫的話,就像是SQL查詢語句。媒體查詢實際上就是一種文法規

則,能夠方便的從一大堆元素裡擷取幾個元素。這樣就方便你應對一些特定的尺寸或者指定一些特殊的解決方式了。媒體

查詢的代碼能夠放在<head>元素裡,也能夠放在styleSheet樣式表裡的不論什麼地方。可是須要注意的是,在不論什麼時候,媒體查

詢都必須以keywordmedia開頭,後面跟你要顯示的css樣式。

 

 

(一)放在head標籤中的寫法例如以下:

<link rel="stylesheet" type="text/css"     href="xxx.css" media="only screen and (max-device-width:480px)">

 

 

(二)放在styleSheet樣式表的寫法例如以下:

@media only screen and (max-device-width:480px){/*css樣式*/}

 【注意事項】:上面的兩種寫法都是針對老版iphone的解決方式(320x480的解決方式)。當然,不是說讓你兩個都用,

僅僅要挑選適合你需求的那個寫法來用就能夠了 。  

利用媒體查詢來覆蓋CSS樣式

這個使用方法在行動裝置上和經常使用,主要是用來呈現高清圖的。也就是說,如今我們有一張兩倍於顯示尺寸的圖片,但可顯示的地區僅僅有圖片的一半。解決方案就是利用上面說的媒體查詢和background-size來實現。

 

以下主要介紹以下的幾種裝置的解決方式:

 

 

(一)iOS 裝置

1. iPhone 4

iPhone4上你就不能使用device-height或者device-width來設定媒體查詢的條件,由於iPhone4的螢幕大小也是320x480的,跟老版本號碼的iPhone和iPod是一樣的。iPhone 4上的像素密集程度是兩倍於我們視網膜的呈現的,所

 以在iPhone 4裝置上要呈現出來的話須要兩倍於我們眼睛實際看到的尺寸的圖片(也就是我們通常所說的高清晰 表徵圖的效果)。要實現這個效果,不能用height或者width,而要使用屬性-webkit-min-device-pixel-ratio這個屬性。不過,須要提醒的一點,這裡不過針對webkit核心的瀏覽器,所以在其它核心的瀏覽器上不適用哦。用法例如以下:

 @media only screen and (-webkit-min-device-pixel-ratio:2){/*針對iphone4的css樣式*/}


2. iPhone 3 和 iPod(320x480像素的解決方式)
@media only screen and (max-device-width:480px){/*針對iPhone 3和iPod的css樣式*/ }

 

3.iPad

iPad上要使用device-width而不是max-device-width,而且能夠設定橫屏和豎屏模式
@media only screen and (device-width:768px){/*針對ipad的css樣式*/}

@media only screen and (min-device-width:481px) and (max-device-width:1024px) and (orientation:portrait){/*ipad豎屏的css樣式*/}

@media only screen and (min-device-width:481px) and (max-device-width:1024px) and (orientation:landscape){/*ipad橫屏的css樣式*/}

 

 

(二)Android裝置

Android裝置最奇異也是最讓人頭疼的地方就是支援太多的螢幕顯示尺寸。在某種意義上,對手持功能的製造廠商來說肯定是件好事,可是可苦了圖形設計師們了。設計師們不得不做好幾種尺寸的圖片來滿足最福士的需求。當然這也是興趣所在了。長話短說,Android裝置上能夠建立三種不同密度的圖片:low、media和high。建立這三種效果的圖片能夠使用例如以下的媒體查詢方式:

@media only screen and (-webkit-device-pixel-ratio:.75){/*低解析度小尺寸的圖片樣式*/}
@media only screen and (-webkit-device-pixel-ratio:1){/*普通解析度普通尺寸的圖片樣式*/}
@media only screen and (-webkit-device-pixel-ratio:1.5){/*高解析度大尺寸的圖片樣式*/}

 

 

(三)Windows Phone 7
到這篇文章為止,Windows Phone 7的媒體查詢是受限制的,參見這裡,在WP7上你不能使用initial-scale, maximum-scale,minimum-scale這些屬性,由於在全部的WP7裝置上都會顯示是320px的寬度。可是不要氣餒,事實上我們還是能夠在WP7上使用媒體查詢的,僅僅要例如以下的寫法就能夠了:

<!--[if IEMobile 7]><link rel="stylesheet" type="text/css" href="xxx.css" media="screen"><![endif]-->

 

 

結語:
行動裝置上寫css是非常複雜多變的,這個不容質疑。由於有非常多陷阱:沒有什麼非常好的調試工具、迅速擴張的市場和需求的高速變化,不同裝置上的支援程度不同都大大的添加了行動裝置上開發的難度。

行動裝置上的媒體查詢 CSS media queries for mobile device

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.