移動端適配有兩種簡單的方案
蘋果6的基本信息:
屏幕尺寸:4.7英寸
分辨率:1334*750
視口大小:375*667
布局視口:980*1429
1、 rem適配
em是指該元素的fontsize大小,如果該元素沒有設置fontsizi,em就代表父元素fontsize大小,一直往上找,直到<html>根標簽的fontsize大小。
rem是指<html>根標簽的fontsize大小,火狐瀏覽器的默認字體大小是16px,則火狐瀏覽器中1rem就代表16px。
重置布局視口代碼
<meta name=”viewport” content=”width=device-width,initial-scale=1.0”> //讓布局視口的大小等於理想視口的大小
思考:布局視口的大小為375px,如果把html字號設置為375px,那么布局視口的大小就是1rem,視口的一半就是0.5rem。
html.style.fontSizi=document.documentElement.clentWidth+”px”;
視口的一半寫0.5rem不方便,擴大到8rem:
html.style.fontSizi=document.documentElement.clentWidth/16+”px”;
寫一段js代碼簡單的封裝:
;(function(){ var styleNode=document.creatElement(“style”); var w=document.documentElement.clientWidth/16; styleNode.innerHTML=”html{font-size:”+w+”px!important}”; document.head.appendChild(styleNode); })()
2、 viewport適配
重置布局視口中的initial-scale=1.0的意思是設置初始縮放比例,作用和width=device-width是一樣的,默認的initial-scale=理想視口大小/布局視口大小=375/980。
思考:既然理想視口大小不可以改變,那么改變initial-scale的比例值肯定是改變的是布局視口的大小,假入給了一張設計圖紙為750px,直接把比例值計算出來就可以把布局視口重置為設計圖紙的大小。
理想視口大小/設計圖紙大小=375/750=0.5,
將initial-scale設置為0.5,
那么理想視口大小/布局視口大小=0.5,
布局視口大小就等於設計圖紙的大小,比例是1:1的關系。
(function(){ var target=750; //設計圖紙的大小,動態的 var scale=window.screen.width/targetW; //計算出縮放比例 var meta=document.creatElement(“meta”); meta.name=”viewport”; meta.content=”inttial-scale=”+scale+”,user-scalable=no”; document.head.appendChild(meta); })()