纯css实现移动端自适应

利用rem和vw来实现移动端自适应

// vm and rem
$vm_fontsize: 75; // iPhone 6尺寸的根元素大小基准值
$vm_design: 750;

// rem 单位换算:定为 75px 只是方便运算,750px-75px、640-64px、1080px-108px,如此类推
@function rem($px) {
  @return ($px / $vm_fontsize) * 1rem;
}

// 根元素大小使用 vw 单位
@function vm($px) {
  @return ($px / ($vm_design / 2)) * 100vw;
}

// 全局设置html和body,限制元素的最大最小值
html {
  font-size: ($vm_fontsize / ($vm_design / 2)) * 100vw; // 同时,通过Media Queries 限制根元素最大最小值
  @media screen and (max-width: 320px) {
      font-size: 64px;
  }
  @media screen and (min-width: 540px) {
      font-size: 108px;
  }
}

// body 也增加最大最小宽度限制,避免默认100%宽度的 block 元素跟随 body 而过大过小
body {
  max-width: 540px;
  min-width: 320px;
}