移动端页面适配以及meta的属性和用法

移动端段适配一直都是我们开发过程中最头疼的问题,下面总结了一些适配的方法,有的是转自其它地方,由于本人水平有限,若有错漏之处敬请谅解。


一、rem布局

代码如下:
注意这段代码一定要放在body之上,否则无效。

<script type="text/javascript">
        (function (doc, win) {
            var docEl = doc.documentElement,
                // orientationchange 事件是在用户水平或者垂直翻转设备(即方向发生变化)时触发的事件。
                // onresize 事件会在窗口或框架被调整大小时发生。
                resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
                recalc = function () {
                    window.clientWidth = docEl.clientWidth;
                    if (!window.clientWidth) return;
                    docEl.style.fontSize = 40 * (window.clientWidth / 640) + 'px';
                    window.base = 40 * (window.clientWidth / 640);
                };
            if (!doc.addEventListener) return;
            win.addEventListener(resizeEvt, recalc, false);
 
            doc.addEventListener('DOMContentLoaded', recalc, false);
        })(document, window);
 </script>

也可参照http://caibaojian.com/flexible-js.html

二、首先请了解一下移动前端中 viewport (视口)http://www.css88.com/archives/5975

这里介绍一下几个移动前端适配—低级、无趣、一堆问题的老方法。早在几年前,移动前端适配有几个很简单使用的方法。那时屏幕尺寸或者说分辨率没如今这么多。一般设计师设计移动端页面统一按照640像素的宽度设计。因为当时的主流是iPhone4,iPhone4s ,iPhone5及iPhone5s,物理像素宽度为 640,分辨率为320。其他安卓机型可以根据这些尺寸做简单粗暴的匹配。

例如下面是适配最简单粗暴的方法,而且根据我平时查看项目的代码的习惯,还有相对一部分项目还是使用这个方法做项目,或者维护项目:

<meta name="eqMobileViewport" content="width=320,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>

看起来很简单,也很实用。开发时候一切根据640的设计稿除以2处理,字体也用简单的像素做单位(用rem换算麻烦)似乎是很完美,但是实际情况,特别是一些对齐,背景吻合总是会出现问题。还有就是用现在高分辨率的iPhone6s等手机看,总是会被设计师鄙视。

如今手机屏幕尺寸越来越多,可以稍微升级一下上面的方法,同样在html头部head标签中先插入一个meta标签,在插入一个脚本设置缩放值:

<meta id="eqMobileViewport" name="viewport" content="width=320, initial-scale=1, maximum-scale=1, user-scalable=no">
<script>
 var g = document.documentElement.clientWidth / 320;
 document.getElementById('eqMobileViewport').setAttribute("content", "width=320, initial-scale=" + g + ", maximum-scale=" + g + ", user-scalable=no")
</script>

这样就比较完美了。

三、meta基础知识

也可参照以下网站

http://www.daqianduan.com/6281.html

http://www.w3cfuns.com/notes/18165/f08c0ec910dad6d2c90807a0318abda8.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 对于熟悉pc端的小伙伴来说,对于静态页面的布局,一般都是没有什么问题的,为了保持各浏览器显示的一致性,无论是...
    itclanCoder阅读 13,717评论 5 61
  • 刚开始做移动端web开发的同学应该都碰到过页面适配问题,为什么我在开发手机上调试好的页面在其他手机会有这样或那样的...
    留七七阅读 19,508评论 5 80
  • 在移动互联网快速发展的今天,手机的种类和尺寸越来越多,作为前端的小伙伴们可能会越来越头疼,但又不得不去适配一款又一...
    keenjaan阅读 26,916评论 9 86
  • 一、meta标签的效果 移动端页面一般会在head头部添加如下meta标签。 该meta标签是否添加对页面渲染的影...
    nimw阅读 3,637评论 0 5
  • 7月19日年轻人发来视频,原来是火车上的镜头,西装革履的,怎么这么帅气整齐,原来是在去华盛顿最后一次面试的路上呢!...
    田园牧歌123阅读 129评论 0 0