美文网首页
rem和viewport轻松解决屏幕适配

rem和viewport轻松解决屏幕适配

作者: 踩坑怪At芬达 | 来源:发表于2019-12-25 19:08 被阅读0次

如果觉得还有点用,请您给我一个赞!您的赞是我坚持下去的动力

抛弃media查询
当你期望你的站点在任何屏幕下都按设计稿的原始比例展示的时候,这里提供2种方案,分别是:viewport和rem来解决

方案一 :viewport

原理

我们经常在head里写的id为viewport的meta标签,其中initial-scale这个参数可以控制浏览器强制将页面整体缩放一定比例(0.0~1.0)范围,所以我们可以通过计算当前视窗宽度和我们设计稿默认屏幕宽度的一个比例,来放大或缩小整个页面

实现过程
  • 开发过程中按照设计稿的尺寸进行开发,比如设计稿的屏幕宽度为750px,上面有一个按钮大小为200px*100px,那么我们css就按照这个尺寸来写

  • 在页面进入的时候通过当前屏幕宽度和设计稿的宽度比例来调整缩放比例

<head>
      var scale = window.screen.width/750;
      var viewport=`<meta id="viewport" name="viewport" content="width=device-width,initial-scale=${scale},user-scalable=no">`
      document.write(viewport);
</head>

方案二:rem布局

原理

通过css的rem单位代替px来自动计算最终px值,rem是啥我就不多解释了,可以自行百度。
我们默认设置整个页面的html标签的字体大小为100像素 font-size:100px,这个时候如果我们给一个按钮宽度设置 1rem也就相当于1*100 px的大小,那么我们只需要改变html标签中的font-size的大小,就可以整体控制所有用到rem单位样式的的缩放比例了

实现过程
  • 定义 html{font-size:100px}
  • 开发过程中,根据设计稿上的 尺寸/100 来计算出对应的rem值,如设计稿上按钮是200px,则转换成 200/100=2rem
  • 在站点内加入计算比例的代码,并且监听窗口变化时,重新调用代码计算比例
  • 完整代码如下:
<style>
  html{font-size:100px;}
</style>

<html>
  <div style="width:7.50rem;height:.8rem;border:4px solid green"></div>
</html>

<script>
  var docEl = document.documentElement;
  function reSetRem() {
    let w = docEl.clientWidth;
    var rem = w * 100 / 750;//这里750设置成设计稿对应的屏幕宽度
    docEl.style.fontSize = rem + 'px'
  }
  window.addEventListener("resize",reSetRem);
  reSetRem();
</script>

相关文章

  • rem和viewport轻松解决屏幕适配

    如果觉得还有点用,请您给我一个赞!您的赞是我坚持下去的动力 抛弃media查询当你期望你的站点在任何屏幕下都按设计...

  • Web移动端开发常见问题和方案

    一、两种rem解决方案 1,根据dpi来设定rem以及viewport(美团的REM解决方案) 2,根据屏幕宽度来...

  • H5之屏幕适配

    H5屏幕适配的方法1、流式布局2、固定宽度3、响应式4、通过viewport进行缩放(推荐)5、使用rem(推荐)...

  • rem适配

    chrome浏览器字体默认16px 最小12px em rem rem适配 viewport 1物理像素的实现

  • vue移动端适配方案

    一、rem适配方案 准备工具,viewport: 手机浏览器是把页面放在一个虚拟的"窗口"(viewport)中,...

  • react-app-rewired 搭建viewport解决方案

    什么是viewport? 表示宽度是设备屏幕的宽度 在网上一直流传一种移动端的适配方案rem 在看了很多文章后,我...

  • 移动端是如何做适配的?

    移动端的适配要分为三点来讨论:使用viewport媒体查询动态rem方案 一、使用viewport 也就是使用 ,...

  • 移动端适配

    移动端适配 1.适配宽高等问题REM方案:改变页面根部的font-size js方案:通过缩放viewport,达...

  • 移动端适配的最佳实践

    移动端适配我们需要做哪些事情? 一个最佳实践除了设置 viewport 和 rem 基准值,随着iPhone手机的...

  • viewport与移动端布局

    关于移动端布局,有三个viewport需要了解,这三个viewport的出现是为了解决网页完美适配移动端屏幕的问题...

网友评论

      本文标题:rem和viewport轻松解决屏幕适配

      本文链接:https://www.haomeiwen.com/subject/mwxhoctx.html