移动端适配问题

作者: b94618a7a3da | 来源:发表于2018-02-20 18:19 被阅读0次

适配是什么:在不同尺寸的手机设备上,页面相对性的达到合理的展示(自适应)或者保持统一效果的等比缩放(看起来差不多)


适配元素:

1.字体

2.宽高

3.间距

4.图像(图标、图片)  --比较复杂


适配的方法:

1.百分比适配

         百分比布局问题:

                  1.百分比的值不好计算

                  2.需要确定父级的大小,因为要根据父级的大小进行计算

                  3.宽度可以设置,但是高度不好设置

         总结:一般情况下百分比布局是需要配合其他的布局而使用


2.比例缩放适配

         把所有机型的设备独立像素设置成一致的(以前淘宝使用过这种方法)

                  1.viewport需要通过js动态设置(不能直接把device的值设置成数值)

                  js代码:

```

                      (function(){

                          /**

                          以iPhone6 plus为例子:

                          原来的尺寸:  curweidth 414

                          要变成的尺寸:targetwidth 375

                          比例:scale  ?

                          换算scale方法:

                          如:414/比例=375

                          那么:比例=414/375

                          所以:scale=curweidth/targetwidth

                          */

                          varcutWidth = window.screen.width;

                          vartargetWidth = 375;

                          varscale=curWidth/targetWidth;

                          varmeta = document.createElement("meta");

                          meta.name='viewport';

                          meta.content='initial-scale='+scale+',minimum-scale='+scale+',maximum-scale='+scale+'';

                          document.head.appendChile(meta);

                  }()

```

                  2.通过设置比例(初始比例以及缩放比例),把宽度缩放成一致的

                  代码:

                  注意:viewport里给了缩放值以后,最终的页面的宽度是原来的值除以缩放比例

                  缺点:

                  1.就像viewport设置宽度的时候,可以吧宽度设置成一个固定值一样,会出现所有手机看上去都是同样的小没有分别了,不太好

                  2.算出的值在一些有小数的情况下可能会出现误差(无关紧要),因为设备独立像素不能有小数


3.viewport适配

         比例缩放适配:根据dpr的值,吧饰扣进行缩放,缩放到wuli像素,也是把屏幕的尺寸直接设置成它对应的物理像素。(淘宝在用,不过他只处理了dpr为2的几个设置,以及iPhone6 plus)

         缺点:

         1.这种方法有时候不准确,比如dpr不为整数的时候,会出现除不尽的情况,那缩放的倍数会出现很长的小数,再去算物理像素的时候就会有误差

         2.如果屏幕的分辨率是非标准的话,算出的物理像素就是非标准的。

         /**

         同上个方法类似

         */

         js代码:

                  varscale=1/window.devicePixelRatio;

                  varmeta = document.createElement("meta");

                  meta.name='viewport';

                  meta.content='initial-scale='+scale+',minimum-scale='+scale+',maximum-scale='+scale+'';

                  document.head.appendChile(meta);

         }()


4.rem适配

什么是rem适配:

         px:绝对单位,给多少就是多少

         问题:不管屏幕尺寸怎么变化,它都不会变,做不到适配

         em:相对单位,相对于自身字体大小的值

         font-size:12px  1em=12px

         问题:

                  1.chrom下有最小字体限制,必须为12px,所以这个值不能小于12

                  2.如果两个一样的元素,但是里面字体不一样,那就不能

                  统一设置了,或者元素字体变化了,就又要统一设置一遍

         rem  CSS3新增的一个相对单位,相对于根节点(HTML)字体大小的值

                  r  root

                  html{font-size:10px}    2rem=20px

                  通过它就可以做到只修改根元素的大小,就能成比例地调整所有的字体大小,只依赖html字体的大小

相关文章

  • 多易日记进程

    10.29 解决移动端适配问题:采用手淘写的lib-flexible解决移动端的适配,采用pxToRem解决px转...

  • echarts.js 仿网商银行app定活宝模块的 历史支取

    移动端适配问题 本人用的flexible 插件

  • 移动端rem适配

    三:多屏适配布局问题 出处:【原创】移动端高清、多屏适配方案 再谈移动端适配和点5像素的由来 使用相对单位:rem...

  • 移动端适配及1px边框问题

    1、移动端适配 2、1px边框问题

  • 移动端适配问题

    移动端适配问题 在head中设置: javascript 样式写法:

  • 移动端适配问题

    适配是什么:在不同尺寸的手机设备上,页面相对性的达到合理的展示(自适应)或者保持统一效果的等比缩放(看起来差不多)...

  • 移动端适配问题

    前言 最近自己在整一个移动端的项目,自认为之前已经开发过很多的移动端项目,对适配还算比较了解,但是这次在做的时候自...

  • 移动端-适配问题

    适配方案 固定高度,宽度自适应垂直方向使用固定的值,水平方向使用弹性布局,元素采用定值、百分比、flex布局等。这...

  • 书签管理器4

    移动端问题 关于移动端适配,你必须要知道的 - 掘金 稍微整理了几个经常在...

  • 移动端适配

    移动端适配

网友评论

    本文标题:移动端适配问题

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