移动端前端适配方案20170707

https://blog.zlevai.com      2022-02-09     128

关键词:

1.Meida Queries

meida queries 的方式可以说是我早期采用的布局方式,它主要是通过查询设备的宽度来执行不同的 css 代码,最终达到界面的配置。核心语法是:

@media screen and (max-width: 600px) { /*当屏幕尺寸小于600px时,应用下面的CSS样式*/
  /*你的css代码*/
}

优点

  • media query可以做到设备像素比的判断,方法简单,成本低,特别是对移动和PC维护同一套代码的时候。目前像Bootstrap等框架使用这种方式布局
  • 图片便于修改,只需修改css文件
  • 调整屏幕宽度的时候不用刷新页面即可响应式展示

缺点

  • 代码量比较大,维护不方便
  • 为了兼顾大屏幕或高清设备,会造成其他设备资源浪费,特别是加载图片资源
  • 为了兼顾移动端和PC端各自响应式的展示效果,难免会损失各自特有的交互方式

 


 

弹性布局

它的viewport是固定的:<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">

根据rem将页面放大dpr倍, 然后viewport设置为1/dpr.

  • 如iphone6 plus的dpr为3, 则页面整体放大3倍, 1px(css单位)在plus下默认为3px(物理像素)
  • 然后viewport设置为1/3, 这样页面整体缩回原始大小. 从而实现高清。

这样整个网页在设备内显示时的页面宽度就会等于设备逻辑像素大小,也就是device-width。这个device-width的计算公式为:

设备的物理分辨率/(devicePixelRatio * scale),在scale为1的情况下,device-width = 设备的物理分辨率/devicePixelRatio 。

 

通过以下代码来控制rem基准值(设计稿以720px宽度量取实际尺寸)

!function (d) {
    var c = d.document;
    var a = c.documentElement;
    var b = d.devicePixelRatio;
    var f;

    function e() {
      var h = a.getBoundingClientRect().width, g;
      if (b === 1) {
        h = 720
      }
      if(h>720) h = 720;//设置基准值的极限值
      g                = h / 7.2;
      a.style.fontSize = g + "px"
    }

    if (b > 2) {
      b = 3
    } else {
      if (b > 1) {
        b = 2
      } else {
        b = 1
      }
    }
    a.setAttribute("data-dpr", b);
    d.addEventListener("resize", function () {
      clearTimeout(f);
      f = setTimeout(e, 200)
    }, false);
    e()
  }(window);

 



08-移动端开发教程-移动端适配方案

由于移动端的特殊性,屏幕的尺寸碎片化严重,要想很好的适配不同的尺寸的设备,需要我们前端开发相比PC端要做一些基层的适配方案。1.常见的适配方案百分比+固定高度布局方案固定屏幕为理想视口宽度少许的媒体查询设置... 查看详情

原创移动端高清多屏适配方案

 移动端高清、多屏适配方案背景开发移动端H5页面面对不同分辨率的手机面对不同屏幕尺寸的手机视觉稿在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿。对于移动端开发而言,为了做到页面高清的效果,视觉... 查看详情

移动端高清多屏适配方案

背景开发移动端H5页面面对不同分辨率的手机面对不同屏幕尺寸的手机视觉稿在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿。对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点:1... 查看详情

移动端高清多屏适配方案

背景开发移动端H5页面面对不同分辨率的手机面对不同屏幕尺寸的手机视觉稿在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿。对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点:... 查看详情

移动端适配方案

Flexible适配方案最早的文章,是15年阿里手淘团队的移动端适配方案。设计师常选择iPhone6作为基准设计尺寸,交付给前端的设计尺寸是按750px*1334px为准(高度会随着内容多少而改变)。前端开发人员通过一套适配规则自动适配到其... 查看详情

移动端屏幕适配原理以及方法讲解

序言:今天周日,我正坐在黄埔区图书馆,思索着关于移动端屏幕适配的问题。作为一名年纪轻轻的前端马蓉,不,是码农,移动端屏幕适配的方案的帖子没读过100篇吧,也读过几十篇了。可是今天我又在思考这个问题了,因为... 查看详情

前端移动端适配-媒体查询适配方案(代码片段)

背景工作中难免会有写静态页面的需求,有时候移动端适配真的是做的心累,如果自己新做一个页面倒还好,整体布局会按照自己习惯来,但有时候不得不修改别人的代码,尤其是别人没适配好的代码,找... 查看详情

移动端适配方案以及rem和px之间的转换

背景开发移动端H5页面面对不同分辨率的手机面对不同屏幕尺寸的手机视觉稿在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿。对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点:1... 查看详情

第130天:移动端-rem布局

...相信这对于大部分前端工程师来说已经不是什么难题了。移动端的布局相对PC较为简单,关键在于对不同设备的适配。之前介绍了一篇关于移动端rem布局方案,这大致是网易H5的适配方案。不过实践中发现淘宝开源的可伸缩布局... 查看详情

移动端页面适配方案及原理(代码片段)

最近要接一个移动端的需求。类似歌曲排行榜的H5页。本人未雨绸缪,学习一波移动端适配方案。0.移动端vsPC端区别1.页面的三个视窗和缩放1.1layoutviewport和visualviewport:1.2idealviewport:1.3页面的缩放2.移动端适配2.1使用meta标签控... 查看详情

vue移动端及pc端适配方案

参考技术A前几天开发公司产品官网的时候,遇到了一些适配问题,当时选择用postcss-px-to-viewport方案来实现适配,效果也很显著,每个页面都适配到位step1.vue安装postcss-px-to-viewport插件。step2.配置适配插件的参数使用PostCss配置文... 查看详情

rem,vw,还是...?各凭本事的移动端适配方案(代码片段)

...假期都已经结束了,我相信大部分正在进行或曾经进行过移动端页面开发的同学都或多或少的了解过使用rem进行移动端页面适配的方案以及使用vw的方案,(没了解过的同学可以参见大漠老师的这两篇文章使用Flexible实现手淘H5页... 查看详情

m-移动端高清多屏适配方案

相关文档 rem 现在手机分辨率这么大,如何写响应式布局?  查看详情

移动端font-size适配方案(续)

概述之前写过一篇移动端font-size适配方案,但是在实践过程中,还是发现当时的思维太局限了,视野太窄了,所以现在补充更新一下,记录下来,供以后开发时参考,相信对其他人也有用。我上一篇博文主要有2个误区,下面我... 查看详情

移动端屏幕适配解决方案

  因原在做移动端适配过程中,一直都是应用淘宝的flexible高清方案解决,也没有认真的去研究过源码。这几天又看到一些普通的适配方案,于是把两者源码放在一起比较,发现高清方案是通过动态的获取了当前设备的dpr值,... 查看详情

移动端适配js

移动端适配方案非常多,入行两年来始终没有一直使用一个标准,每个项目都按照业务需求来做适配方案一:最初听李彦辉老师的课程使用rem布局了一段时间,但是字体计算比较麻烦,也不太精确方案二:偶然在Q群里一群友分... 查看详情

移动端适配方案-rem(基础篇)

    常见移动web适配方案一般有3种方法,如下图:      ①:定高,宽度百分比(百分比适配简单,一般用来做一些适配性不高的页面,比如只有一些文字和图片等简单的屏幕适配)    ②:flex(更多的用于复... 查看详情

手淘h5移动端适配方案flexible源码分析(代码片段)

移动端适配一直是一个值得探讨的问题,在业余时间我找了一些页面,查看了一些厂商对于移动端H5页面的适配方案,看到了几个典型的例子,今天就来记录一下我看到的第一个典型的例子,也是我们公司目前普通H5项目正在使... 查看详情