關(guān)于rem適配

目前主流的移動端適配用rem的偏多蟋定,接下來說一說關(guān)于rem的適配問題吧草添。。。

需要的功能:設(shè)計圖用于不同的設(shè)備犀盟,效果等比例縮放。

rem是一個新的單位,該單位與HTML頁面的fontSize有關(guān)倡怎,1px=?rem,是通過html的font-size進行決定的,font-size為多少监署,那么1rem就為多少px;(在我們的項目中1rem=100px)rem 是相對于根標(biāo)簽的。

一般的設(shè)計稿為750px,也就是我們常說的2倍圖钠乏,但是手機適口的寬度一般為375px,歸納一下手機適口的范圍:

iphone4 320晓避、360、iphon6 375俏拱、384、400锅必、480、533搞隐、568、600劣纲、640、667味廊、720、768余佛、800、853辉巡、853、960、1024憔恳、1280、1366

劃分一下输硝,大致是:

第一檔在小屏幕手機:320~384

第二檔在note/pad:400~900

第三檔在桌面端:960~

在實際項目中統(tǒng)計的結(jié)果表明,手機屏幕的寬度中的95%還在320~375寬点把。保證手機版畫面主體內(nèi)容在320寬內(nèi)即可。

js中我們需要動態(tài)獲取手機適口的寬度window.innerWidth郎逃。

原理:那么750/375=2; 750/320=2.343等等一系列的,當(dāng)手機適口不一樣的時候這個比例就不同褒翰。用rem做適配,是通過手機適口的寬度/設(shè)計圖优训,然后將這個值動態(tài)設(shè)置為font-size的值各聘,因為得到的是小數(shù),這時設(shè)置給font-size是不管用的伦吠,(因為font-size最小為12px),所以用這個小數(shù)先乘以100毛仪,最后用實際測量的數(shù)除以100,得到最終的rem的值箱靴。也就是測量為200px就寫成為 2rem.

(function(doc,win){?

? ? var docEl =doc.documentElement,?

? ? ? ? ? ? resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',?

? ? ? ? ? ? recalc = function(){?

? ? ? ? ? ? ? ? var clientWidth = docEl.clientWidth>750 ? 750 :docEl.clientWidth;?

? ? ? ? ? ? ? ? if (!clientWidth) {return};?

? ? ? ? ? ? ? ? docEl.style.fontSize = 100 * (clientWidth/750) + 'px';?

? ? ? ? ? ? };?

? ? recalc();?

? ? if (!doc.addEventListener) return;?

? ? win.addEventListener(resizeEvt, recalc, false);?

? ? doc.addEventListener('DOMContentLoaded', recalc, false);?

})(document,window)

那么舉例子:比如是2倍比的情況下,設(shè)計圖100px的一個div,那么我們就可以寫成1rem,用100除以100得出衡怀,那么如是是2.342這個比例的話,作為程序員的我們不可能拿一個計算器抛杨,一個div一個div的計算轉(zhuǎn)化之后的rem值,這樣太費勁量。初中數(shù)學(xué)有個公式茁帽,倒數(shù)的概念玉罐,除以一個數(shù)等于乘這個數(shù)的倒數(shù)潘拨,比如除以2等于??二分之一,從計算的角度來說方便了很多铁追,所以我們可以將除法改為乘法,但是還有個問題琅束,手機適口的寬度除以750px 得到的是一個小數(shù),將這個小數(shù)給font-size設(shè)置是不管用的狰闪,因為font-size最小為12px,所以我們可以給我這個小數(shù)乘以100埋泵,那么在實際測量的時候子再給測量的數(shù)除以100,就達(dá)到了我們所說的量的數(shù)除以100丽声,等于我們設(shè)計圖上的尺寸。所以100px=1rem雁社。

用測量的尺寸除以100,主要的目的是使得比例是一樣的霉撵。這樣才能等比例的縮放。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末徒坡,一起剝皮案震驚了整個濱河市瘤缩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌剥啤,老刑警劉巖锦溪,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件府怯,死亡現(xiàn)場離奇詭異,居然都是意外死亡牺丙,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門是整,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人浮入,你說我怎么就攤上這事∈滦悖” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵易迹,是天一觀的道長。 經(jīng)常有香客問我睹欲,道長,這世上最難降的妖魔是什么窘疮? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮涛贯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蔚出。我一直安慰自己,他們只是感情好骄酗,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著酥筝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嘿歌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天丧凤,我揣著相機與錄音,去河邊找鬼步脓。 笑死浩螺,一個胖子當(dāng)著我的面吹牛仍侥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播农渊,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼砸紊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起醉顽,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎游添,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體否淤,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡石抡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年助泽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗡贺。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖诫睬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情摄凡,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布亲澡,位于F島的核電站,受9級特大地震影響床绪,放射性物質(zhì)發(fā)生泄漏其弊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一梭伐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧概页,春花似錦、人聲如沸惰匙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至绘盟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間龄毡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工沦零, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人路操。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像屯仗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子魁袜,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348