CSS基礎之移動端適配問題

2021-10-07 10:18:03 字數 1193 閱讀 6635

隨著網際網路行業的不斷發展,移動網際網路的比重越來越大,移動端開發適配問題是困擾大多數開發人員的難點,下面就簡單聊聊這個問題:

記得那還是上古時代,在開發pc端網頁的時候,當瀏覽器檢視視窗隨意縮放的時候,我們要求所看到的頁面大小要隨視窗大小伸縮或者隱藏,當時,我們的解決方案就是通過**查詢的方法,獲取檢視視窗的寬度,根據不同的檢視寬度顯示不同的寬度。

@media screen and (max-width: 600px)
**查詢可以做到裝置畫素比的判斷,方法簡單,成本低,特別是對移動和pc維護同一套**的時候。目前像bootstrap等框架使用這種方式布局

便於修改,只需修改css檔案

調整螢幕寬度的時候不用重新整理頁面即可響應式展示

**量比較大,維護不方便

為了兼顧大螢幕或高畫質裝置,會造成其他裝置資源浪費,特別是載入資源

為了兼顧移動端和pc端各自響應式的展示效果,難免會損失各自特有的互動方式

設定viewport:

高度定死,採用px做單位,寬度自適應,隨著螢幕寬度的變化,頁面也跟著變化,在寬度需要調整的時候使用響應式布局調整就可以實現適配了。

rem是乙個相對於字型大的相對單位,所以需要設定根html元素的字型大小,其他需要適配的元素也設定相應的rem即可。

實現原理:根據rem講頁面放大dpr倍,viewport設定1/dpr。這樣頁面的寬度,就是裝置寬度,device-width,device-width=裝置的物理解析度/(devicepixelratio * scale)

viewport是固定的:

通過以下**來控制rem基準值(設計稿以720px寬度量取實際尺寸)

!function (d) 

if(h>720) h = 720;//設定基準值的極限值

g = h / 7.2;

a.style.fontsize = g + "px"

}if (b > 2) else else

}a.setattribute("data-dpr", b);

d.addeventlistener("resize", function () , false);

e()}(window);

css通過sass預編譯,設定量取的px值轉化rem的變數$px: (1/100)+rem;

以上就是解決移動適配的四種常見的方法,比較粗淺,繼續加油!

移動端適配問題

移動端web頁面,即常說的h5頁面 手機頁面 webview頁面等。適配問題產生的原因 手機裝置螢幕尺寸不一,做移動端的web頁面,需要考慮在安卓 ios的各種尺寸裝置上的相容,針對移動端裝置的頁面,設計與前端實現怎樣做能更好地適配不同螢幕寬度的移動裝置。適配的目標 在不同尺寸的手機裝置上,頁面相對...

移動端適配JS和CSS

移動端適配一般是兩種方式 一js方式 setrem window.addeventlistener orientationchange setrem window.addeventlistener resize setrem function setrem js方式書寫方便,而且適配所有的機型,但是...

關於移動端適配問題

移動端適配採用rem進行編寫css,整理了三種方案 方案一 簡單的js適配 function resizeroot width document.documentelement.style.fontsize devicewidth num1 px resizeroot 750 window.onre...