2012-07-16 95 views
19

我很想知道,爲了優化您的網站的平板電腦,桌面和smarthpones,什麼是最好的使用:媒體查詢或視口meta標籤?看到代碼:視口元標籤與媒體查詢?

<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"> 
<meta name="viewport" content="width=device-width, initial-scale=1.0"> 

VS

/* Smartphones (portrait and landscape) ----------- */ 
@media only screen 
and (min-device-width : 320px) 
and (max-device-width : 480px) { 
/* Styles */ 
} 

/* Smartphones (landscape) ----------- */ 
@media only screen 
and (min-width : 321px) { 
/* Styles */ 
} 

/* Smartphones (portrait) ----------- */ 
@media only screen 
and (max-width : 320px) { 
/* Styles */ 
} 

/* iPads (portrait and landscape) ----------- */ 
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) { 
/* Styles */ 
} 

/* iPads (landscape) ----------- */ 
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : landscape) { 
/* Styles */ 
} 

/* iPads (portrait) ----------- */ 
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : portrait) { 
/* Styles */ 
} 

/* Desktops and laptops ----------- */ 
@media only screen 
and (min-width : 1224px) { 
/* Styles */ 
} 

/* Large screens ----------- */ 
@media only screen 
and (min-width : 1824px) { 
/* Styles */ 
} 

/* iPhone 4 ----------- */ 
@media 
only screen and (-webkit-min-device-pixel-ratio : 1.5), 
only screen and (min-device-pixel-ratio : 1.5) { 
/* Styles */ 
} 
+0

您似乎覺得你只能選擇使用其中的一種。 – BoltClock 2012-07-16 18:44:25

回答

6

我會說每一種情況都不一樣......它不是一種任何一種情況。你在那裏的視口元標記會使網站保持1比1的比例,這在很多情況下是好的。然而,它也設置了用戶可擴展的「否」 - 這意味着用戶將無法放大等...有時候ipad和其他設備改變你的網站的方式是最好的......(取決於)

我已經找到了最好的方法是使用媒體查詢和選擇的2個dirrections一個:從小

  1. 開始從大建立
  2. 開始,建立上下

將你的瀏覽器窗口拉伸得越來越大(或越來越小),然後在t時刻他的網站變得醜陋,(就在此之前)那是你的下一個斷點......讓媒體查詢......並重復。不要關注所有的設備尺寸---這樣你就會知道,不管是什麼新的設備等等都出來了 - 你已經設計好了它在每一個可能的尺寸上看起來不錯。 (當它低於320 /我喜歡只是使網站變成名片///更好地爲沒有智能手機的可讀信息...)

然後,所有這一切...在設備上測試並嘗試不同的視口元標記。

有很多關於它的優秀文章...使用「響應式設計」或「自適應」或「RWD」響應式網頁設計等關鍵詞。還有祝你好運 !!!

+1

ps - 對jQuery媒體感應的東西感到厭倦......因爲當您更改桌面瀏覽器大小時,它們不會進行調整......但它們可以很好地用於定位移動設備等...... – sheriffderek 2012-07-16 18:44:21

+0

很酷,謝謝。好點您正在製作 – 2012-07-16 18:47:43

+0

還有一件事...一些舊的瀏覽器沒有看到媒體查詢...但有一個jQuery,將教他們看到它...所以檢查出來...... – sheriffderek 2012-07-16 18:55:02

16

兩者都是必要的。

媒體查詢被用來爲不同的設備有不同的css,就像不同設備的if條件一樣。

視口元標記是設置告訴設備根據此標記採取寬度。它就像設備的重置,如果其未使用的設備將根據其默認設置調整佈局。

+0

謝謝你的回答。告訴我,什麼是最好的,有一個正常的固定值定義的CSS樣式,然後將所有其他CSS查詢設置爲相對百分比寬度/高度的「正常」樣式表?或者定義每個媒體查詢樣式表都有其固定的維度? – 2012-07-17 12:39:32

+1

它更好地設計移動第一和前進更大的設備。如果你能夠處理這種情況,那麼佈局或液體佈局的百分比對於任何設計都是最好的。或者其他方式,你可以有適應所有不同分辨率的固定寬度的佈局。 – SVS 2012-07-17 12:45:49

+1

謝謝。因此,如果我理解正確,就會有自適應佈局(媒體查詢的固定寬度)和響應式佈局(媒體查詢的流體百分比寬度)。 – 2012-07-17 13:12:06

7

這取決於你想達到什麼。

如果您只想設計桌面分辨率並讓手機瀏覽器「縮小」,並假設桌面的分辨率高於只能使用視口元標記,請將寬度設置爲固定值。

如果您想要一個真正的響應式設計,您應該將視口元標記設置爲設備寬度,並使用媒體查詢爲您的代碼中顯示的不同分辨率計劃佈局。

+0

謝謝,很好的回答 – 2012-07-16 18:43:51

+0

一個問題,我有一個圖像,這是我的主要網頁圖像,它在頁面中心。現在我希望高度始終與屏幕大小一起流動,這樣您就不應該滾動。這是怎麼改變的情況,因爲一切都是根據寬度設計/指定的? – 2012-07-16 18:48:59