移动端页面自适应解决方案 rem布局

来源:互联网 发布:java 整形转byte 编辑:程序博客网 时间:2024/05/10 01:14

移动端rem布局

  前言

目前网络上移动端布局方法有很多,初次接触者也许会搞不清楚到底怎么用,在此介绍rem布局方法,使移动端能够做到自适应大小,包简单包会。

 viewport的概念

通俗的讲,移动设备上的viewport就是设备的屏幕上能用来显示我们的网页的那一块区域,移动设备上的浏览器都会把自己默认的viewport设为980px或1024px(也可能是其它值,这个是由设备自己决定的),但带来的后果就是浏览器会出现横向滚动条,因为浏览器可视区域的宽度是比这个默认的viewport的宽度要小的。下图列出了一些设备上浏览器的默认viewport的宽度。

所以在html页中需设定

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

这段话意为定义在屏幕上可显示的宽度为设备宽度,不可手动缩放,初始缩放与最大缩放比例皆为1

 @media的概念

使用 @media 查询,你可以针对不同的媒体类型定义不同的样式。

@media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,@media 是非常有用的。当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。

     在css中引入如下代码即可

html{font-size: 100px;} @media screen and (min-width:320px){html{font-size:42.667px;}}@media screen and (min-width:360px){html{font-size:48px;}}@media screen and (min-width:375PX){html{font-size:50px;}}@media screen and (min-width:384px){html{font-size:51.2px;}}@media screen and (min-width:400px){html{font-size:53.3px;}}@media screen and (min-width:412px){html{font-size:54.9px;}} @media screen and (min-width:414px){html{font-size:55.2px;}}@media screen and (min-width:424px){html{font-size:56.5px;}}@media screen and (min-width:480px){html{font-size:64px;}}@media screen and (min-width:540px){html{font-size:72px;}}@media screen and (min-width:720px){html{font-size:96px;}}@media screen and (min-width:750px){html{font-size:100px;}}@media screen and (min-width:768px){html{font-size: 102.4px;}}@media screen and (min-width:800px){html{font-size: 106.7px;}}@media screen and (min-width:980px){html{font-size: 130.7px;}}@media screen and (min-width:1080px){html{font-size: 144px;}}@media screen and (min-width:1152px){html{font-size: 153.6px;}}@media screen and (min-width:1366px){html{font-size: 182.1px;}}@media screen and (min-width:1440px){html{font-size: 192px;}}@media screen and (min-width:2160px){html{font-size: 288px;}}

  rem

  一般情况移动端的设计稿的宽度为750px;7.5rem  =  750px  ,这样算的话,根据屏幕除以7.5得到的font-size基本上高度不会差别太大,切图就不用再转换高度了,只用除以100就可以得到元素宽高~

  注意此时单位rem设定的大小会适应屏幕的大小而单位为px时是固定大小

  所以在书写移动端代码时一定注意什么情况需要适应大小 什么时候需要固定大小

 rem 的算法

 

1 首先设置html的font-size:100px;

    html{           font-size:100px;        }


    2在写媒体查询

 @media screen and (min-width:320px){//大于320px     html{        font-size:42.667px;                          //320/750=0.42667,0.42667*100px=42.667px;,                                                                   }  }  @media screen and (min-width:360px){     html{         font-size:48px;             //360/750= 0.48 ; 0.48*100px = 48px;     } }


    3写你自己的样式

  比如有个盒子的大小为400x300,那么他在移动端的尺寸就为 4x3rem

  .box{

      width:4rem;

      heighr:3rem;

  }

       所有的单位都使用rem, rem = 实际尺寸 /100  

关于更多rem布局中的问题,可以继续收看

移动端rem布局如何使用精灵图及图片问题

原创粉丝点击