移動(dòng)端Rem設(shè)置

?? ?前提:頁面元素的布局尺寸全都以設(shè)計(jì)稿為基準(zhǔn)等比例設(shè)置堰燎。

給html根節(jié)點(diǎn)設(shè)置一個(gè)基礎(chǔ)font-size值厚脉,然后頁面的所有元素布局均相對(duì)于該font-size值采用rem單位設(shè)定。那么基礎(chǔ)的font-size值該如何取呢接谨?

?? ?假如通過媒體查詢?cè)O(shè)置font-size饱岸,只能解決一部分的情況倒堕,而且并不能完成適配滨攻,因?yàn)槭謾C(jī)屏幕寬度類型實(shí)在太多了糯俗,所以font-size的取值要通過js計(jì)算,取當(dāng)前viewport的deviceWidth與設(shè)計(jì)稿的寬的比例值谅河,例如:我們的設(shè)計(jì)稿尺寸都是720px的咱旱,iphone6的deviceWidth是375px,那么計(jì)算出來的font-size值就是 375 / 720 = 0.520833绷耍,因?yàn)榈贸龅膄ont-size太小,不方便計(jì)算鲜侥,且有的瀏覽器可能不兼容太小字號(hào)褂始,所以將font-size放大100倍,所以最終計(jì)算出來的font-size為 375 / 720 * 100 = 52.0833(px); 當(dāng)然描函,這個(gè)值是根據(jù)設(shè)計(jì)稿來計(jì)算的崎苗,所以根據(jù)計(jì)算規(guī)則,下面列出幾種常見設(shè)計(jì)稿相應(yīng)的font-size值:

// deviceWidth = 320舀寓,font-size = 320 / 7.2 = 44.4433px

// deviceWidth = 375胆数,font-size = 375 / 7.2 = 52.0833px

// deviceWidth = 414,font-size = 414 / 7.2 = 57.5px

// deviceWidth = 500互墓,font-size = 500 / 7.2 = 69.4444px

// 可在script標(biāo)簽加上如下代碼:

????(function() {

????????document.addEventListener('DOMContentLoaded', function() {

????????????setRem(720,100)

????????}, false);

????})();

????window.onresize = function() {

????????setRem(720,100)

????};

????function setRem(pwidth,pre){

????????console.log('setRem')

????????var html = document.documentElement;

????????var windowWidth = html.clientWidth;

????????html.style.fontSize = windowWidth /pwidth*pre + 'px';

????};

----------------------------------------------------------------------------------------------

window.onload=function(){

getRem(720,100)

};

window.onresize=function(){

getRem(720,100)

};

functiongetRem(pwidth,prem){

varhtml=document.getElementsByTagName("html")[0];

varoWidth=document.body.clientWidth||document.documentElement.clientWidth;

html.style.fontSize=oWidth/pwidth*prem +"px";

}

?? ?onresize 當(dāng)屏幕大小發(fā)生變化的時(shí)候執(zhí)行的函數(shù)必尼,當(dāng)頁面刷新的時(shí)候不執(zhí)行,所以要添加onload事件,當(dāng)首次加載或者刷新的時(shí)候設(shè)置fontSize的大小


// deviceWidth = 320判莉,font-size = 320 / 7.2 = 44.4433px

// deviceWidth = 375豆挽,font-size = 375 / 7.2 = 52.0833px

// deviceWidth = 414,font-size = 414 / 7.2 = 57.5px

// deviceWidth = 500券盅,font-size = 500 / 7.2 = 69.4444px

// 這個(gè)7.2就是根據(jù)設(shè)計(jì)稿的橫向?qū)挾葋泶_定的帮哈,設(shè)計(jì)稿是720

// 至此,font-size的基礎(chǔ)值就確定好了锰镀,而且知道該font-size值是手機(jī)deviceWidth跟設(shè)計(jì)稿的比例值 的 100倍(重要)

?720是一個(gè)參數(shù)娘侍,是設(shè)計(jì)稿的大小,100是縮放比例泳炉,設(shè)置100方便換算

? ? 以此基準(zhǔn)比例憾筏,無論多屏幕的手機(jī)型號(hào),可是寬度deviceWidth都是7.2rem

// 2)那么頁面元素該如何設(shè)置寬高胡桃、邊距…

// 例如:一個(gè)設(shè)計(jì)稿寬高為140px的圖標(biāo)踩叭,左邊距為50px,那么它的css應(yīng)該這樣寫:

// .icon{

// width: 1.4rem; /* 像素?fù)Q算rem:140px / 100 = 1.4rem */

// height: 1.4rem;

// margin: 000.5rem;

// }

// 因?yàn)閔tml的font-size是放大了100倍翠胰,所以計(jì)算rem時(shí)容贝,要用設(shè)計(jì)稿的實(shí)際像素除以100,140px / 100 = 1.4rem; 最后實(shí)際的像素大小就會(huì)由deviceWidth跟設(shè)計(jì)稿的橫向?qū)挼谋壤詣?dòng)計(jì)算出來之景。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末斤富,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子锻狗,更是在濱河造成了極大的恐慌满力,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轻纪,死亡現(xiàn)場(chǎng)離奇詭異油额,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)刻帚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門潦嘶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人崇众,你說我怎么就攤上這事掂僵。” “怎么了顷歌?”我有些...
    開封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵锰蓬,是天一觀的道長。 經(jīng)常有香客問我眯漩,道長芹扭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮冯勉,結(jié)果婚禮上澈蚌,老公的妹妹穿的比我還像新娘。我一直安慰自己灼狰,他們只是感情好宛瞄,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著交胚,像睡著了一般份汗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蝴簇,一...
    開封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天杯活,我揣著相機(jī)與錄音,去河邊找鬼熬词。 笑死旁钧,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的互拾。 我是一名探鬼主播歪今,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼颜矿!你這毒婦竟也來了寄猩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤骑疆,失蹤者是張志新(化名)和其女友劉穎田篇,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體箍铭,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡泊柬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了诈火。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片彬呻。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖柄瑰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情剪况,我是刑警寧澤教沾,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站译断,受9級(jí)特大地震影響授翻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一堪唐、第九天 我趴在偏房一處隱蔽的房頂上張望巡语。 院中可真熱鬧,春花似錦淮菠、人聲如沸男公。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽枢赔。三九已至,卻和暖如春拥知,著一層夾襖步出監(jiān)牢的瞬間踏拜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來泰國打工低剔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留速梗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓襟齿,卻偏偏與公主長得像姻锁,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蕊唐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容