美文网首页css
使用viewport中的vm来适配移动端页面

使用viewport中的vm来适配移动端页面

作者: Lia代码猪崽 | 来源:发表于2018-07-20 16:13 被阅读247次

前言

作为一个小前端,经常要和H5打交道,这就面临着不同终端的适配问题。
Flexible方案通过Hack手段来根据设备的dpr值相应改变<meta>标签中viewport的值,给我更贴切的体会就是通过js脚本根据设备的dpr和设计图的宽度来计算出htmlfont-size值,然后就运用rem单位开发可以等比例缩放的H5页面。
但是!Flexible已经完成了他自身的历史使命,我们可以放下Flexible,拥抱新的变化

做到适配要解决的问题

在移动端布局,我们需要面对两个最为重要的问题:

  • 各终端下的适配问题
  • Retina屏的细节处理
    不同的终端,我们面对的屏幕分辨率、DPR、1px2x图等一系列的问题。那么这个布局方案也是针对性的解决这些问题,只不过解决这些问题不再是使用Hack手段来处理,而是直接使用原生的CSS技术来处理的。

适配终端

以前的Flexible方案是通过JavaScript来模拟vw的特性,那么到今天为止,vw已经得到了众多浏览器的支持,也就是说,可以直接考虑将vw单位运用于我们的适配布局中。

vw是基于Viewport视窗的长度单位,这里的视窗(Viewport)指的就是浏览器可视化的区域,而这个可视区域是window.innerWidth/window.innerHeight的大小。用下图简单的来示意一下:

蓝色区域就是 window.innerWidth 和 window.innerHeight

CSS Values and Units Module Level 3中和Viewport相关的单位有四个,分别为vwvhvminvmax

  • vw:是Viewport's width的简写,1vw等于window.innerWidth1%
  • vh:和vw类似,是Viewport's height的简写,1vh等于window.innerHeihgt1%
  • vminvmin的值是当前vwvh中较小的值
  • vmaxvmax的值是当前vwvh中较大的值

如果设计稿用750px宽度的,100vw = 750px,即1vw = 7.5px。那么我们可以根据设计图上的px值直接转换成对应的vw值。如果不想自己计算,我们可以使用PostCSS的插件postcss-px-to-viewport,让我们可以直接在代码中写px

具体的PostCSS我们放到另外一篇文章吧,毕竟我还不会~

参考资料

大漠--再聊移动端页面的适配

相关文章

  • 使用viewport中的vm来适配移动端页面

    前言 作为一个小前端,经常要和H5打交道,这就面临着不同终端的适配问题。Flexible方案通过Hack手段来根据...

  • 移动端适配方案

    移动端适配方案:1)viewport(scale=1/dpr)2)rem3)flex4)vm/vh一、什么是移动端...

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

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

  • meta-viewport

    相关动态REM的文章 移动端高清、多屏适配方案使用Flexible实现手淘H5页面的终端适配 viewport v...

  • 移动端适配

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

  • 适配移动端

    移动端是怎么做适配的? 1.针对移动端的页面须添加viewport元标签 用width设置视口的宽度,设为devi...

  • 关于像素问题收藏的好文章

    移动端尺寸基础知识从设备像素比到移动适配弄清移动端网页中viewport、retina、高清图、dp单位等

  • 移动端性能优化(5)

    渲染类 使用Viewport固定屏幕渲染,可以加速页面渲染内容 一般认为,在移动端设置Viewport可以加速页面...

  • Js常见题目2

    移动端是怎么做适配的? 1.使用 标签包含 name、 content...

  • 移动端性能优化(5)

    渲染类使用Viewport固定屏幕渲染,可以加速页面渲染内容一般认为,在移动端设置Viewport可以加速页面的渲...

网友评论

    本文标题:使用viewport中的vm来适配移动端页面

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