App下載

手機(jī)瀏覽器和pc瀏覽器的width:100%的自適應(yīng)問題

猿友 2021-01-05 16:27:41 瀏覽數(shù) (3471)
反饋

Tips: 調(diào)試 iPad 或 iPhone 可在設(shè)置中啟動調(diào)試模式,在 Mac 中的 Safari 瀏覽器 一樣開啟開發(fā)者模式后,進(jìn)行聯(lián)機(jī)調(diào)試。功能彪悍。 最近在做一個頁面時,發(fā)現(xiàn)在 iPad 的 Safari 瀏覽器中背景顯示不全,定位到該 div 后發(fā)現(xiàn)所指定 css 的寬度為 100% ; 到百度搜索后發(fā)現(xiàn),safari 中 viewport 默許寬度為 980px,若事前未指定其初始 viewport 寬度,則會默許依照 980px 處理。 可以默許初始化 viewport 寬度或在 css 中設(shè)定 min-width,但最簡單的方法可以在 head 標(biāo)簽中初始化好 viewport。 

詳見下方代碼: <meta name="viewport"content="width=網(wǎng)頁真實寬度, initial-scale=倍數(shù)值"/> 

假定網(wǎng)頁寬度為 960px 或 1080px,可在 width 中加入該值,并將 initial-scale 設(shè)置一個合適的倍數(shù)值。 

例如一個頁面的寬度為 1080px,則設(shè)定為: <meta name="viewport"content="width=1080, initial-scale=0.9"/> 這樣不管加載前后切換橫屏還是豎屏,都可以友好顯示。

可是比如頭部部份設(shè)置為  width:100%,而網(wǎng)頁中部最大寬度為默許:1200px,頭部和中部長度不一致。這個問題在 pc 端和手機(jī)的默許像素不一致造成。該如和解決?

在網(wǎng)頁的<head>中增加以上這句話,可讓網(wǎng)頁的寬度自動適應(yīng)手機(jī)屏幕的寬度:

<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />     

<meta name="apple-mobile-web-app-capable" content="yes" />    

<meta name="format-detection" content="telephone=no" />    

第1行:

width=device-width :表示寬度是裝備屏幕的寬度

initial-scale=1.0:表示初始的縮放比例

minimum-scale=0.5:表示最小的縮放比例

maximum-scale=2.0:表示最大的縮放比例

user-scalable=yes:表示用戶是不是可以調(diào)劑縮放比例

第2行:

設(shè)定 iphone 端頁面全屏。

第3行:

取消數(shù)字被辨認(rèn)為電話號碼。

如果是想要一打開網(wǎng)頁,則自動以原始比例顯示,并且不允許用戶修改的話,則是:

<meta name="viewport" content="width=device-width(這里是可以變化的,根據(jù)你的其他div的寬度來設(shè)置), initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 

這模樣寫后,就能夠把一些頁頭橫幅等的圖片的寬度都設(shè)置成 style="width:100%",全部頁面在裝備上看起來就是全屏的了。要把width=device-width 中的 device-width 換成你中部設(shè)置的像素值,比如我的設(shè)置為1200px, 這樣問題就解決了。


1 人點贊