资讯专栏INFORMATION COLUMN

小tips:使用rem+vw实现简单的移动端适配

mrli2016 / 3450人阅读

摘要:首先设置属性,如下代码使用如下代码就能实现移动端的适配相当于浏览器的,是浏览器的内部宽度,注意,滚动条宽度也计算在内那么就是表示的屏幕宽度。参考地址最简单的移动端适配方案实现滚动条出现页面不跳动从淘宝和网易的思考移动端怎样使用

首先设置meta属性,如下代码:

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

使用如下代码就能实现移动端的适配:

html {
  font-size: -webkit-calc(13.33333333vw);
  font-size: calc(13.33333333vw);
}

100vw相当于浏览器的window.innerWidth,是浏览器的内部宽度,注意,滚动条宽度也计算在内那么1vw就是表示1%的屏幕宽度。

其中的13.33333333vw是怎么来的呢?就是你的设计稿是750px,那么设计稿的1px就是0.133333333vw,那么100px就是13.33333333vw。也即是html的font-size设置为100px相当于1rem(设计稿为750px)。那么我们就可以很轻松的换算设计稿中的单位为rem了,比如一个元素宽度为150px,转换为rem就是1.5rem。其他尺寸设计稿的计算方式依次类推。

参考网易新闻移动端的写法:

/**
 * view-port list:
320x480
320x568
320x570
360x592
360x598
360x604
360x640
360x720
375x667
375x812
393x699
412x732
414x736
480x854
540x960
640x360
720x1184
720x1280
800x600
1024x768
1080x1812
1080x1920
 */
html {
  font-size: -webkit-calc(13.33333333vw);
  font-size: calc(13.33333333vw);
}
@media screen and (max-width: 320px) {
  html {
    font-size: 42.667px;
    font-size: -webkit-calc(13.33333333vw);
    font-size: calc(13.33333333vw);
  }
}
@media screen and (min-width: 321px) and (max-width: 360px) {
  html {
    font-size: 48px;
    font-size: -webkit-calc(13.33333333vw);
    font-size: calc(13.33333333vw);
  }
}
@media screen and (min-width: 361px) and (max-width: 375px) {
  html {
    font-size: 50px;
    font-size: -webkit-calc(13.33333333vw);
    font-size: calc(13.33333333vw);
  }
}
@media screen and (min-width: 376px) and (max-width: 393px) {
  html {
    font-size: 52.4px;
    font-size: -webkit-calc(13.33333333vw);
    font-size: calc(13.33333333vw);
  }
}
@media screen and (min-width: 394px) and (max-width: 412px) {
  html {
    font-size: 54.93px;
    font-size: -webkit-calc(13.33333333vw);
    font-size: calc(13.33333333vw);
  }
}
@media screen and (min-width: 413px) and (max-width: 414px) {
  html {
    font-size: 55.2px;
    font-size: -webkit-calc(13.33333333vw);
    font-size: calc(13.33333333vw);
  }
}
@media screen and (min-width: 415px) and (max-width: 480px) {
  html {
    font-size: 64px;
    font-size: -webkit-calc(13.33333333vw);
    font-size: calc(13.33333333vw);
  }
}
@media screen and (min-width: 481px) and (max-width: 540px) {
  html {
    font-size: 72px;
    font-size: -webkit-calc(13.33333333vw);
    font-size: calc(13.33333333vw);
  }
}
@media screen and (min-width: 541px) and (max-width: 640px) {
  html {
    font-size: 85.33px;
    font-size: -webkit-calc(13.33333333vw);
    font-size: calc(13.33333333vw);
  }
}
@media screen and (min-width: 641px) and (max-width: 720px) {
  html {
    font-size: 96px;
    font-size: -webkit-calc(13.33333333vw);
    font-size: calc(13.33333333vw);
  }
}
@media screen and (min-width: 721px) and (max-width: 768px) {
  html {
    font-size: 102.4px;
    font-size: -webkit-calc(13.33333333vw);
    font-size: calc(13.33333333vw);
  }
}
@media screen and (min-width: 769px) {
  html {
    font-size: 102.4px;
    font-size: -webkit-calc(13.33333333vw);
    font-size: calc(13.33333333vw);
  }
}
body {
  font-family: "PingFangSC-Regular", "Microsoft YaHei", Helvetica;
  color: #333333;
  background: #f5f7f9;
}
html a {
  color: #333333;
}

这样写法也是为了兼容老版本手机不支持vw以及calc语法。

参考地址:

  • 《最简单的移动端适配方案(rem+vw)》
  • 《CSS3 calc实现滚动条出现页面不跳动》
  • 《从淘宝和网易的font-size思考移动端怎样使用rem?》

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/1163.html

相关文章

  • FED之必备技能

    摘要:在我们深入研究这项新鲜的技术之前,让我们先快速的复习原理的相关知识。同时,希望本文能对大家有所帮助。工欲善其事,必先利其器。 flex.css快速入门,极速布局 什么是flex.css? css3 flex 布局相信很多人已经听说过甚至已经在开发中使用过它,但是我想我们都会有一个共同的经历,面对它的各种版本,各种坑,傻傻的分不清楚,flex.css就是对flex布局的一种封装,通过简洁...

    Zachary 评论0 收藏0
  • FED之必备技能

    摘要:在我们深入研究这项新鲜的技术之前,让我们先快速的复习原理的相关知识。同时,希望本文能对大家有所帮助。工欲善其事,必先利其器。 flex.css快速入门,极速布局 什么是flex.css? css3 flex 布局相信很多人已经听说过甚至已经在开发中使用过它,但是我想我们都会有一个共同的经历,面对它的各种版本,各种坑,傻傻的分不清楚,flex.css就是对flex布局的一种封装,通过简洁...

    williamwen1986 评论0 收藏0
  • 移动适配方案

    摘要:业务环境是决定整体项目的适配方案的核心因素。而淘宝的主站和类似,分为移动端页面和端页面,端页面同样有着左右的留白,这也是为了让用户能够在宽屏的时候将注意力集中在中间区域。 移动端适配方案 移动端适配方案是一个老生常谈的话题,但是对于不同的项目、不同的业务场景可能会需要不同的适配方案来进行移动端适配,向下兼容的baseline也需要提前订好。 整体宽高 其实移动端适配就和下面的玩具一样,...

    feng409 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<