<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        JavaScript實現移動端頁面按手機屏幕分辨率自動縮放的最強代碼

        來源:懂視網 責編:小采 時間:2020-11-27 22:32:16
        文檔

        JavaScript實現移動端頁面按手機屏幕分辨率自動縮放的最強代碼

        JavaScript實現移動端頁面按手機屏幕分辨率自動縮放的最強代碼:手機的屏幕有大有小,移動web最好做成響應式布局,也就是自適應屏幕,沒有固定寬高,這樣的話,在所有手機上都可以正常顯示。關于移動端頁面按手機屏幕分辨率自動縮放的js,先附上代碼 <script> var phoneWidth = parseInt(window.
        推薦度:
        導讀JavaScript實現移動端頁面按手機屏幕分辨率自動縮放的最強代碼:手機的屏幕有大有小,移動web最好做成響應式布局,也就是自適應屏幕,沒有固定寬高,這樣的話,在所有手機上都可以正常顯示。關于移動端頁面按手機屏幕分辨率自動縮放的js,先附上代碼 <script> var phoneWidth = parseInt(window.

         手機的屏幕有大有小,移動web最好做成響應式布局,也就是自適應屏幕,沒有固定寬高,這樣的話,在所有手機上都可以正常顯示。關于移動端頁面按手機屏幕分辨率自動縮放的js,先附上代碼
        <script>
         var phoneWidth = parseInt(window.screen.width);
         var phoneHeight = parseInt(window.screen.height);
         var phoneScale = phoneWidth/750;//除以的值按手機的物理分辨率
         var ua = navigator.userAgent;
         if (/Android (\d+\.\d+)/.test(ua)) {
         var version = parseFloat(RegExp.$1);
         // andriod 2.3
         if (version > 2.3) {
         document.write('<meta name="viewport" content="width=device-width,initial-scale='+phoneScale+',minimum-scale='+phoneScale+',maximum-scale='+phoneScale+',user-scalable=no">');
         // andriod 2.3以上
         } else {
         document.write('<meta name="viewport" content="width=device-width,user-scalable=no">');
         }
         // 其他系統
         } else {
         document.write('<meta name="viewport" content="width=device-width, initial-scale='+phoneScale+',minimum-scale='+phoneScale+',maximum-scale ='+phoneScale +',user-scalable=no,">');
         }
        </script>      

        做手機端頁面最頭疼的就是物理分辨率和邏輯分辨率的轉換了,當拿到設計圖的時候,圖基本都是按物理分辨率來設計的,一般常用的為640(iphone5/5s)、750(iphone6/6s),而谷歌等瀏覽器采用小手機模式瀏覽頁面的時候,上面的值為邏輯分辨率,調試的時候很難把控頁面樣式,在手機端的樣式也會因此大亂,在頁面頭部加入以上一段js之后,在手機端就可以正常顯示了,

        var phoneScale = phoneWidth/750;

        除以的為設計圖設計的頁面寬度,750是按iphone6來設計(根據自己使用需求來修改),即讓頁面的 放大比率=屏幕的邏輯分辨率/物理分辨率,從而達到適應手機的效果。

        (注意,有時候頁面加了這段代碼在調試的時候,切記刷新,刷新過后就會按手機縮放比例顯示)

        概念解析:

        phys.width:一般我們所指的寬度width即為phys.width,物理寬度(物理分辨率)

        device-width:又稱為css-width,設備寬度(邏輯分辨率)

        其中我們可以獲取phys.width通過document.documentElement.clientWidth;

        而獲取css-width通過 window.screen.width獲取。

        所以這里  phoneWidth(邏輯分辨率) = parseInt(window.screen.width);

        如iphone6的phys.width為750px,而css-width為375px。

        明白一個瀏覽器默認行為。

        試想,瀏覽器如果把電腦端的980px的網頁展現在寬度為750px的iphone6手機屏上,勢必會放不下,手機端橫向會出現滾動條,怎么阻止這種情況呢,很簡單,瀏覽器默認一個虛擬窗口,不同瀏覽器有不同的虛擬窗口寬度的默認值如:safari iphone:980px;

        opera:850px;

        Andriod webkit:800px;

        IE:974px;

        然后會把這個980px虛擬窗口裝進寬度為750px的iphone6中,當然這樣的話必須縮放,這就是為什么在手機中展現電腦端頁面沒有出現橫向滾動條,而且字跡明顯變小的原因。

        initial-scale='+phoneScale+',minimum-scale='+phoneScale+',maximum-scale='+phoneScale+'

        這段代碼切記要指定 initial-scale=***,在安卓系統中,不指定默認的nitial-scale=***,只指定最小和最大縮放值,也可以正常顯示,但是safari瀏覽器則會失效,對于寬度是100%的頁面, 則顯示為頁面的30%左右的寬。

        target-densitydpi=device-dpi

        WebKit內核默認按照160的DPI來排版。假如設備真實DPI是480,寬度是1080,在WebKit會按160DPI,360寬度來排版。排版結束后在放大到1080寬。

        所以當取window.innerwidth之類的值的時候,取的是WebKit實際排版寬度360,而不是1080.

        target-densitydpi=device-dpi可以強制內核以480DPI排版,使畫面更精細,window.innerwidth也將為屏幕寬度1080.

        但WebKit從去年開始取消了對target-densitydpi的支持。(所以現在不建議寫該屬性了)

        想實現target-densitydpi=device-dpi的效果有什么方法?提交此次補丁的WebKit開發者說可以用responsive images 和 CSS device units來替代。

        參考鏈接:

        //www.gxlcms.com/article/121524.htm

        //www.gxlcms.com/article/121515.htm

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        JavaScript實現移動端頁面按手機屏幕分辨率自動縮放的最強代碼

        JavaScript實現移動端頁面按手機屏幕分辨率自動縮放的最強代碼:手機的屏幕有大有小,移動web最好做成響應式布局,也就是自適應屏幕,沒有固定寬高,這樣的話,在所有手機上都可以正常顯示。關于移動端頁面按手機屏幕分辨率自動縮放的js,先附上代碼 <script> var phoneWidth = parseInt(window.
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲综合色丁香婷婷六月图片| 美女视频黄a视频全免费网站色| 亚洲国产精品成人久久久| 亚洲av无码兔费综合| 久久免费美女视频| 国产又大又长又粗又硬的免费视频| 国产在线19禁免费观看国产| 成人婷婷网色偷偷亚洲男人的天堂| 成人无码WWW免费视频| 国产无遮挡吃胸膜奶免费看视频 | 国产免费观看黄AV片 | 成人在线免费视频| 日本亚洲免费无线码| 亚洲AV永久无码区成人网站 | 亚洲情A成黄在线观看动漫软件| 1000部拍拍拍18勿入免费凤凰福利| 亚洲色偷偷综合亚洲AV伊人| 一本色道久久88—综合亚洲精品 | 亚洲最大免费视频网| 无人在线直播免费观看| 亚洲人成色777777老人头| 最近中文字幕电影大全免费版| 国产亚洲精品高清在线| 欧洲亚洲综合一区二区三区| 亚洲国产成人乱码精品女人久久久不卡| 亚洲av成人一区二区三区| 色欲色香天天天综合网站免费| 伊人亚洲综合青草青草久热| 高潮毛片无遮挡高清免费视频| 国产自偷亚洲精品页65页| 日韩免费高清大片在线| 亚洲av无码成h人动漫无遮挡 | 一个人看的免费观看日本视频www 一个人看的免费视频www在线高清动漫 | 精品一区二区三区免费| 亚洲成人高清在线观看| 又大又硬又爽免费视频| 色妞www精品视频免费看| 亚洲一区二区三区自拍公司| 成人片黄网站色大片免费观看cn| 亚洲色欲久久久久综合网| 91久久精品国产免费一区|