動(dòng)態(tài)REM

動(dòng)態(tài)REM是手機(jī)專用的自適應(yīng)方案

REM是什么

我們常用的單位有(有問題看MDN)

  • px
  • em (一個(gè)漢字M的寬度,對(duì)面試官說)
  • rem (root em根元素的font-size)
    • 根元素就是html 的 font-size 16px
  • vh viewport 的height高度 視口高度 100vh == 視口高度
  • vw viewport 的width 跨度 視口寬度 100vw == 視口寬度
  • 頁面默認(rèn)font-size:16px
  • chrome 默認(rèn)最小12px,字體大小不要小于12px
  • REM就是根元素(html)的font-size大小

rem 和 em區(qū)別

css單位個(gè)人博客

  • 1em == 16px默認(rèn)值
  • em自己的font-size
  • rem 根元素的font-size

動(dòng)態(tài)REM

如果沒有設(shè)計(jì)圖,就不做響應(yīng)式

給這些圖再做響應(yīng)式
  • 所有手機(jī)顯示的界面都是一樣的,只是大小不同

響應(yīng)式需做不同的適配,例如:

  • 0~320px 一套css ?
  • 320px~375px 一套css ?
  • 375~414px 一套css ?
  1. 百分比布局
    • 缺點(diǎn): 高度不能和寬度做配合,不知道寬度的大小
  2. 整體縮放
    • 一切單位以寬度為標(biāo)準(zhǔn)
// html的font-size寬度 等于 頁面寬度
// 1 rem == html font-size == viewport width

 <script>
     var pageWidth = window.innerWidth
     document.write('<style>html{font-size:'+pageWidth+'px;}</style>')
 </script>
// 動(dòng)態(tài)REM示例
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <script>
    var pageWidth = window.innerWidth;
    document.write("<style>html{font-size:"+ pageWidth +"px;}</style>")
  </script>
  <style>
    *{margin:0;padding:0;}
    .child{
      float:left;
      width:0.4rem;
      height:0.2rem;
      margin:0.05rem 0.05rem;
      background:#ddd;
    }
    body{
      font-size:16px;
    }
    .clearfix::after{
      content:'';
      display:block;
      clear:both;
    }
  </style>
</head>
<body>
  <div class="parent clearfix">
    <div class="child">box</div>
    <div class="child">box</div>
    <div class="child">box</div>
    <div class="child">box</div>
  </div>
</body>
</html>
// 重要的
 <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">

// 可以調(diào)節(jié)寬度

 <script>
     var pageWidth = window.innerWidth
     document.write('<style>html{font-size:'+ pageWidth/10 +'px;}</style>')
 </script>
  • border怎么辦?
    • 太小的直接用px,和rem混用
REM 可以與其他單位同時(shí)存在
 font-size: 16px;
 border: 1px solid red;
 width: 0.5rem;

上面的這些可以解決我們?cè)谝苿?dòng)端是配上的單位動(dòng)態(tài)rem,但是對(duì)于我們來說,還是有一個(gè)痛點(diǎn).單位的換算特別麻煩,先px,再rem,該怎么解決呢???

px自動(dòng)變?yōu)閞em

給自己一個(gè)警告!!!!

  • 為什么你學(xué)不好 LESS/SASS/Webpack/SCSS
    • 你不會(huì)命令行,你非要用 Windows (卸載windows)
    • 你不會(huì)英語(有些內(nèi)容可以看中文翻譯)
    • 你不會(huì)看文檔(很重要的能力)

rem自動(dòng)化轉(zhuǎn)px 就用scss唄

  • 先自己嘗試使用scss
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,167評(píng)論 1 92
  • 響應(yīng)式 1.meta:vp 阻止縮放 2.盡量不要寫width / height,改用max / min 不要把寬...
    阿魯提爾閱讀 497評(píng)論 0 1
  • 單位 px:像素em:一個(gè) M 的寬度(面試:一個(gè)字的寬度)rem:root em 根元素( )的 font-si...
    饑人谷_風(fēng)爭(zhēng)閱讀 602評(píng)論 0 1
  • 設(shè)備像素(device pixel): 設(shè)備像素是物理概念,指的是設(shè)備中使用的物理像素。 比如iPhone 5的分...
    fredah閱讀 452評(píng)論 0 0
  • layout 和 screen的寬度 在比較遙遠(yuǎn)的時(shí)候,網(wǎng)頁還是在pc端流行,很少有人開發(fā)移動(dòng)端網(wǎng)頁,所有網(wǎng)頁的寬...
    sunny519111閱讀 577評(píng)論 0 2

友情鏈接更多精彩內(nèi)容