【原】pageResponse - 让H5适配移动设备全家(移动端适配)

目录(更新于20151013)

 

原理及说明

  • 使用transform:scale缩放页面,要求视觉稿高清
  • 页面以px为单位即可让h5适配各种移动设备,适配原则根据视觉稿比例缩放页面
  • 兼容性良好,支持ios4+、android2.3+、winphone8+系统
  • 大小1k,零依赖
  • 三种适配模式可选 auto || contain || cover

github地址

https://github.com/peunzhang/pageResponse 

真实案例

不同手机看效果,同一手机切换横竖屏看效果

contain模式(推荐)

  • 保持页面的宽高比,调整页面的宽度或高度(较大者),使页面完全包含在浏览器窗口中
  • 页面水平垂直居中,左右或上下可能出现空白,页面背景使用纯色或可复制背景可解决此类问题
  • 适合滑屏页面、单屏页面

预览

cover模式

  • 保持页面的宽高比,调整页面的宽度或高度(较小者),使页面完全覆盖浏览器窗口
  • 页面水平垂直居中,超出浏览器窗口左右或上下的内容会被隐藏
  • 适合滑屏页面、单屏页面,且页面边缘无重要内容

预览

auto模式(默认模式)

保持页面的宽高比,调整页面的宽度,使页面宽度完全包含在浏览器窗口中

预览

结合fullPage滑屏框架的例子

预览

快速上手

meta的viewport设置:

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

启用插件代码示例一:

<div class="page">
    <img src="img/demo1.jpg" alt="" width="320" height="504">
    <h1>你一定也有过一个翱翔天际的梦1</h1>
    <p>-  回家,或踏上旅途,飞机是自由的符号  -</p>
</div>

//视觉稿尺寸是640px*1008px,页面样式是以视觉稿尺寸除以2来计算,那么输入页面的宽度为320px和高度为504px
window.onload = window.onresize = function(){
    pageResponse({
        selectors: '.page',     //模块的类名,使用class来控制页面上的模块(1个或多个)
        mode : 'contain',     // auto || contain || cover
        width : '320',      //输入页面的宽度,只支持输入数值,默认宽度为320px
        height : '504'      //输入页面的高度,只支持输入数值,默认高度为504px
    })
}

启用插件代码示例二:

<!-- 2个模块(包含隐藏的)都包含class:page,pageResponse可对这2个模块起作用 -->
<div class="page">
    <img src="img/demo1.jpg" alt="" width="640" height="1008">
    <h1>你一定也有过一个翱翔天际的梦1</h1>
    <p>-  回家,或踏上旅途,飞机是自由的符号  -</p>
</div>

<div class="page hide">
    <p>是否还记得她</p>
    <img src="img/logo.jpg" alt="" width="40" height="40">

</div>

//视觉稿尺寸是640px*1008px,页面样式是以视觉稿原始尺寸来计算,那么输入页面的宽度为640px和高度为1008px
window.onload = window.onresize = function(){
    pageResponse({
        selectors: '.page',     //模块的类名,使用class来控制页面上的模块(1个或多个)
        mode : 'contain',     // auto || contain || cover
        width : '640',      //输入页面的宽度,只支持输入数值,默认宽度为320px
        height : '1008'      //输入页面的高度,只支持输入数值,默认高度为504px
    })
}

demo下载

 

欢迎大家使用,插件还有很多的不足,对于复杂的页面并不合适,具体结合实际项目,任何问题欢迎留言探讨~

祝大家粽子节快乐~

作者:白树

出处:http://peunzhang.cnblogs.com/

时间: 2024-12-05 08:32:08

【原】pageResponse - 让H5适配移动设备全家(移动端适配)的相关文章

【原】让H5页面适配移动设备全家 - 前端篇 - PPT

7月份在部门内给设计中心的同事们带来<让H5页面适配移动设备全家 - 设计师篇 - PPT>的分享,在视觉和交互稿上提出页面适配的建议及提升页面体验的好处,促进前端和设计双方更好的合作,同时也提升页面体验,分享后跟设计师们沟通,反应情况良好,说明这套适配的方案是有一定价值的.在9月份很荣幸收到TID同事的邀请,参与[TID重构主题交流会]第六期:体验的前端分享,于是在设计师篇的基础上重新整理了前端篇,通过分析当前市场的数据,结合实际的项目需求,总结出适配各种移动设备分辨率的思路和解决方法,相信

【原】让H5页面适配移动设备全家 - 设计师篇 - PPT

在此之前也在部门前端组内做了分享,后来师傅跟我聊了下,其实现在前端和设计的合作上经常遇到页面适配问题,在沟通上影响工作效率,在页面设计上影响用户体验. 所以决定准备给设计师们带来H5适配的分享,内容大概是了解H5页面适配等问题,以便更好得配合前端完成页面,提升页面体验. 于是,在工作的业余时间,我把想到的点记录下在本子,经过几天整理,也有了点内容.考虑到是给设计的同学做分享,ppt几乎只有图片,所以看起来会比较清晰易懂~ 说明:PPT主要数据取自友盟指数2015年5月份数据,国内活跃设备达10.

H5移动端适配 Flexible方案_javascript技巧

一.移动端一些概念 视觉稿 (选取一款手机的屏幕宽高作为基准) 在前端开发之前,视觉 MM会给我们一个psd文件,称之为视觉稿. 对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点: 1)首先,选取一款手机的屏幕宽高作为基准(以前是iPhone4 的320×480,现在更多的是iphone6的 375×667). 2)对于retina 屏幕(如: dpr=2),为了达到高清效果,视觉稿的画布大小会是基准的2 倍,也就是说像素点个数是原来的 4倍(对 iphone6而言:原

ios-Xcode6 如何利用storyboard实现不同设备下的屏幕适配

问题描述 Xcode6 如何利用storyboard实现不同设备下的屏幕适配 我知道用autolayout 加约束 但是我一直有个疑问 比如两个视图 一个高100 一个高300 放在屏幕中央 怎么让他们等比例放大缩小呢? 他们两个的间距, 还有上面视图到上面 下面视图到下面的 间距都是固定的 就是要让他们的宽度比固定 宽度自适应 - - 我想不出来怎么加约束 求教啊 现在在做适配 急 在线等..... 解决方案 这个问题不好答,我也想知道答案 解决方案二: - 好把 有人没呀 求解答啊 解决方案

code6屏幕适配-Xcode6 如何利用storyboard实现不同设备下的屏幕适配

问题描述 Xcode6 如何利用storyboard实现不同设备下的屏幕适配 自己看了一些文档和资料,还是对Xcode下的实现屏幕适配没有搞懂,甚至按照步骤一步一步走都有点看不明白,希望楼主能不能在最新的Xcode6操作下发布博文,关于用storyboard和nib文件,实现不同屏幕下的适配问题? 解决方案 使用size classses和auto Layout .

手机平板等移动端适配跳转URL的js代码

 这篇文章主要为大家分享下手机平板等移动端适配跳转URL的js代码,需要的朋友可以参考下 代码如下: <script type="text/javascript"> if(/AppleWebKit.*mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|So

一台设备全家能用 Win7让电脑分身有术

  现在几乎家家都有电脑了,而且家里人从老到小,都多多少少地会一些电脑操作,哪怕只是玩纸牌.看动画.不过一家人年龄不同,使用电脑的需求也不同,而家中只有一台电脑,怎么能让它同时满足所有家人的需要呢?如果电脑中安装的是Win7系统,这个问题就不难解决了. 我们只要利用Win7系统的"多账户支持",为家中的每位成员都创建一个独立账户,就可以将系统的界面.功能等内容,分别按照每个人的需求来设置了. 创建多个Win7账户 爸妈的Win7:字号放大 老爸老妈上了年纪,最不方便的就是看东西要戴老花

移动端适配简易步骤

手机端全部适配简易步骤,不确保没有bug. 1.HTML 的 head 部分中加入如下代码: <meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"> 其中 width:viewport 的宽度,可以指定为一个像素值,如:640,或者为特殊的值,如:device-

虚拟键 适配-android 有虚拟件的适配

问题描述 android 有虚拟件的适配 android 适配我用的百分比布局 进行的适配,其他手机都可以正常适配,但是遇到带有虚拟键(home menu back) 的手机时,项目的底部导航栏就被遮住了,请教各位大神解决办法,怎解决这个问题,跪谢!!!!!! 解决方案 这个问题已经解决.用的百分比,加上权重适配, 解决方案二: 你可以上传个图片看一眼,有一种解决思路,可以在进行布局时做个判断,有虚拟键的单独布局下方可以设置一段margin