safari手機瀏覽器的width:100%的自適應問題


Tips: 調試 iPad 或 iPhone 可在設置中啟動調試模式,在 Mac 中的 Safari 瀏覽器 同樣開啟開發者模式后,進行聯機調試。功能彪悍。

最近在做一個頁面時,發現在 iPad 的 Safari 瀏覽器中背景顯示不全,定位到該 div 后發現所指定 css 的寬度為 100% ;

到百度搜索后發現,safari 中 viewport 默認寬度為 980px,若事先未指定其初始 viewport 寬度,則會默認按照 980px 處理。

可以默認初始化 viewport 寬度或在 css 中設定 min-width,但最簡單的方法可以在 head 標簽中初始化好 viewport。

 

詳見下方代碼:

<metaname="viewport"content="width=網頁真實寬度, initial-scale=倍數值"/>
假設網頁寬度為 960px 或 1080px,可在width中加入該值,並將 initial-scale 設置一個適合的倍數值。

例如一個頁面的寬度為 1080px,則設定為:

<metaname="viewport"content="width=1080, initial-scale=0.9"/>
這樣不管加載前后切換橫屏還是豎屏,都可以友好顯示。【可參考:股票配資 手機端與pc端的瀏覽對比 】
可是比如頭部部分設置為width:100%,而網頁中部最大寬度為默認:1200px,頭部和中部長度不一致。這個問題在pc端和手機的默認像素不一致造成。該如和解決?
找了很多資料,終於找出來了:
在網頁的<head>中增加以上這句話,可以讓網頁的寬度自動適應手機屏幕的寬度:

1 <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />     
2 <meta name="apple-mobile-web-app-capable" content="yes" />    
3 <meta name="format-detection" content="telephone=no" /> 

 

第一行:
width=device-width :表示寬度是設備屏幕的寬度
initial-scale=1.0:表示初始的縮放比例
minimum-scale=0.5:表示最小的縮放比例
maximum-scale=2.0:表示最大的縮放比例
user-scalable=yes:表示用戶是否可以調整縮放比例
第二行:
設定iphone端頁面全屏。
第三行:
取消數字被識別為電話號碼。

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

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

 

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

親測有用!解決了一個難題!!!

原文鏈接:https://blog.csdn.net/houerfei/article/details/42995901


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM