移動端rem適配

var rem = {
  baseRem: 40,
  // 基準(zhǔn)字號怠缸,按照iphone6應(yīng)該為20护奈,此處擴大2倍硼控,便于計算
  baseWidth: 750,
  // 基準(zhǔn)尺寸寬悬而,此處是按照ihpone6的尺寸
  rootEle: document.getElementsByTagName("html")[0],
  initHandle: function() {
    this.setRemHandle();
    this.resizeHandle();
  },
  setRemHandle: function() {
    var clientWidth = document.documentElement.clientWidth || document.body.clientWidth;
    this.rootEle.style.fontSize = clientWidth * this.baseRem / this.baseWidth + "px";
  },
  resizeHandle: function() {
    var that = this;
    window.addEventListener("resize",
    function() {
      setTimeout(function() {
        that.setRemHandle();
      },
      300);
    });
  }
};
rem.initHandle();

三:多屏適配布局問題

出處:【原創(chuàng)】移動端高清材义、多屏適配方案

再談移動端適配和點5像素的由來

使用相對單位:rem

原理:針對不同手機屏幕尺寸和dpr動態(tài)的改變根節(jié)點html的font-size大小(基準(zhǔn)值)峦朗。

任意瀏覽器的默認(rèn)字體高都是16px份乒。所有未經(jīng)調(diào)整的瀏覽器都符合: 1rem=16px。那么12px=0.75rem,10px=0.625rem椰憋。為了簡化font-size的換算,需要在css中的html選擇器中聲明font-size=62.5%赔退,這就使rem值變?yōu)?16px62.5%=10px, 這樣12px=1.2rem, 10px=1rem, 也就是說只需要將原來的px數(shù)值除以10橙依,然后換上rem作為單位就行了。*

當(dāng)我們在根節(jié)點<html>上設(shè)置了font-size基準(zhǔn)值以后硕旗,在文檔中有使用rem單位的屬性值都是相對于根節(jié)點font-size的一個相對值窗骑。比如說一些元素的屬性如width,height,margin等。也正是這個原因漆枚,現(xiàn)在很多網(wǎng)站的移動端網(wǎng)站都在使用rem單位作為適配工具创译。

注意事項:

1.整體的布局還是使用百分比

2.使用rem的最佳場景是,遇到例如多列帶有圖片的列表,常常需要圖片固定寬高比

3.研究了一些網(wǎng)站,比如淘寶墙基,對字體字體一般情況建議使用px

4.出現(xiàn)1px像素線的地方软族,仍舊使用border-width:1px;而不是border-width:.1rem

/**
   * [以iPhone6的設(shè)計稿為例js動態(tài)設(shè)置文檔 rem 值]
   * @param  {[type]} currClientWidth [當(dāng)前客戶端的寬度]
   * @param  {[type]} fontValue [計算后的 fontvalue值]
   * @return {[type]}     [description]
   */
  <script>
      var currClientWidth, fontValue,originWidth;
      //originWidth用來設(shè)置設(shè)計稿原型的屏幕寬度(這里是以Iphone 6為原型的設(shè)計稿)
     originWidth=375;
     __resize();
 
     //注冊 resize事件
     window.addEventListener('resize', __resize, false);
 
     function __resize() {
         currClientWidth = document.documentElement.clientWidth;
         //這里是設(shè)置屏幕的最大和最小值時候給一個默認(rèn)值
         if (currClientWidth > 640) currClientWidth = 640;
         if (currClientWidth < 320) currClientWidth = 320;
         //
         fontValue = ((62.5 * currClientWidth) /originWidth).toFixed(2);
         document.documentElement.style.fontSize = fontValue + '%';
     }
     </script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市残制,隨后出現(xiàn)的幾起案子立砸,更是在濱河造成了極大的恐慌,老刑警劉巖初茶,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件颗祝,死亡現(xiàn)場離奇詭異,居然都是意外死亡恼布,警方通過查閱死者的電腦和手機螺戳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來折汞,“玉大人倔幼,你說我怎么就攤上這事∽种В” “怎么了凤藏?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵奸忽,是天一觀的道長。 經(jīng)常有香客問我揖庄,道長栗菜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任蹄梢,我火速辦了婚禮疙筹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘禁炒。我一直安慰自己而咆,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布幕袱。 她就那樣靜靜地躺著暴备,像睡著了一般。 火紅的嫁衣襯著肌膚如雪们豌。 梳的紋絲不亂的頭發(fā)上涯捻,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音望迎,去河邊找鬼障癌。 笑死,一個胖子當(dāng)著我的面吹牛辩尊,可吹牛的內(nèi)容都是我干的涛浙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼摄欲,長吁一口氣:“原來是場噩夢啊……” “哼轿亮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起胸墙,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤哀托,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后劳秋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仓手,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年玻淑,在試婚紗的時候發(fā)現(xiàn)自己被綠了嗽冒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡补履,死狀恐怖添坊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情箫锤,我是刑警寧澤贬蛙,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布雨女,位于F島的核電站,受9級特大地震影響阳准,放射性物質(zhì)發(fā)生泄漏氛堕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一野蝇、第九天 我趴在偏房一處隱蔽的房頂上張望讼稚。 院中可真熱鬧,春花似錦绕沈、人聲如沸锐想。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赠摇。三九已至,卻和暖如春浅蚪,著一層夾襖步出監(jiān)牢的瞬間蝉稳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工掘鄙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人嗡髓。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓操漠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親饿这。 傳聞我的和親對象是個殘疾皇子浊伙,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,914評論 2 355

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

  • 移動端適配都用的時rem來做,在你的項目中只需要引用下面的js长捧,即可適配成功嚣鄙。代碼時已iphone6來做的,fon...
    leesession閱讀 1,729評論 0 0
  • 移動端適配方法比較多串结,最鐘愛的還是REM適配哑子,通過js改變font-size的數(shù)值。 注:對于部分機型(如Nexu...
    炸魚Rovy閱讀 885評論 0 2
  • 750px寬度的設(shè)計稿肌割,1rem為100px
    ouxuwen閱讀 236評論 0 0
  • 隨著移動端的發(fā)展,rem的用途越來越廣泛奋早,很好的解決了px無法適配移動端的問題盛霎。因為rem是以根節(jié)點來計算的赠橙,在根...
    像風(fēng)一樣自由2017閱讀 1,007評論 0 1
  • 現(xiàn)代社會何來騎士? 我們假想:如果生活有騎士愤炸, 騎士的理想是什么期揪? 是不是嫉惡如仇,好打平摇幻? 一切俠義都被現(xiàn)代文明...
    燒火一條柴閱讀 459評論 0 1