移动端方案起源及适配方案动态REM

2019-08-21  本文已影响0人  明明你也一样

什么是移动端页面

什么是REM

要说REM我们首先要了解CSS中有哪些常用的表示长度的单位

还需要了解,一些浏览器会设置字体一个最小大小,比如chrome默认设置最小只显示12px,这可能会给使用REM造成障碍

为什么要使用REM

在做PC端页面布局的时候,只要定好设计稿,设计布局只要定宽就能实现,但是移动端不同,各个厂商的各种机型屏幕像素宽都不同,这就给还原设计图造成了困难。但是REM方案解决了元素缩放和高度宽度没有关联的问题。

REM和EM的区别是什么

em就是一个m的宽度,一个字的宽度,因为m的宽高相等,就可以理解为一个字的高度,也就是font-size的大小。
所以rem就是根元素的font-size,em就是自己的font-size

手机端方案的特点

自适应布局通常会采用百分比布局方案
或者元素等比例缩放
但是都存在许多问题

使用JS动态调整REM

var pageWidth = window.innerWidth
document.write(`<style>html{font-size:${pagewidth}}</style>`)//这样就使rem等于pageWidth

REM可以与其他单位同时存在

当像素非常小的时候,由于浏览器默认最小字体大小的存在,显示可能会产生错乱。这时直接用px或者其他单位与rem混用也是可行的,不会影响设计美观。

在SCSS里使用PX to REM

在使用动态rem的时候你会发现要还原设计图你要做多次计算才能得出具体的长度,为了简化这一过程,在引入scss的基础上,使用函数自动计算正确的包含rem的返回值

// 根元素字体大小
  html{
    font-size: 100px;
  }

  $baseFontSize:100;//基数
  @function px2rem($px){
    @return $px / $baseFontSize * 1rem;
  }
// 调用
  .box{
    width: px2rem(600);
    height: px2rem(400);;
    background-color: lawngreen;
  }
上一篇下一篇

猜你喜欢

热点阅读