2014-01-21 87 views
0

研究視口行爲,我在理解元視口聲明方面遇到了一些障礙。寬度=設備寬度是否與initial-scale = 1一起冗餘?

我看到width=device-widthinitial-scale=1一起使用了很多,但據我所知,後者意味着前者。

MDN還提到定義widthinitial-scale=1將導致寬度充當最小視口寬度。如果是這種情況,那麼是否需要將寬度定義爲device-width?無論如何,任何佈局視口都小於設備寬度,初始比例不能爲1。

我是否錯過了某些東西,或者將寬度定義爲設備寬度冗餘?

由於

回答

1

同時使用width=device-widthinitial-scale=1確保跨瀏覽器/設備的兼容性。例如,對於iOS設備,您的頁面需要initial-scale=1才能獲取設備的方向更改,因爲width=device-width不會。兩者都使用元視口標籤確保最大的有效性。

+0

你可以給出'width = device-width'的任何例子來改變'initial-scale = 1'時的行爲嗎?或者這更多的是「萬一」的事情? –

+0

不僅僅是一件事情,儘管有這麼多的新設備總是上市,它不會受到傷害。這個網頁可能是你正在尋找的:http://www.quirksmode.org/mobile/metaviewport/notes.html –

+0

是的,夠公平的。這個資源澄清了很多。謝謝! –

1

2個標籤是不一樣的。

'width=device'標記告訴瀏覽器使用設備的實際寬度作爲屏幕的100%寬度。如果你忽略它,移動設備將模擬出它具有更高的分辨率,並且你的內容不會被拉伸到全部寬度。

initial-scale是第一次加載時的縮放級別。如果它設置爲1,並且'width=device',則內容將不會縮小或放大。您也將無法縮小超過初始縮放比例(但您仍然可以放大)。這就好像您將'minimum-scale'設置爲1一樣。

還有一個'maximum-scale',如果將其設置爲1,則用戶將無法放大超過初始比例。

這是一個如何創建類似於應用程序的感覺的示例,其中內容以1:1的比例使用設備的寬度。

<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> 

希望這有助於!

+0

我知道標籤是不一樣的。我所知道的是,它自己的'initial-scale = 1'似乎可以完成兩者的工作。只是想知道是否有什麼辦法可以解決這個問題。 –

+1

你問後者是否意味着前者,而我的回答是否定的。絕對不意味着來到你身邊,就好像你不知道他們不完全一樣。初始縮放並不會告訴瀏覽器實際的寬度是多少,但在某些瀏覽器中它可以自行工作,AFAIK它不會是一個跨瀏覽器的解決方案。 – Yani