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

上一篇文章《为什么选择iPhone5的分辨率作为H5视觉稿尺寸》最后留下了问题:是否需要视觉设计师设计多套的视觉稿供给前端工程师做页面适配呢?按照自己以前的方法,通常会要求设计师设计2套的尺寸,一套是窄屏手机(如iPhone4),另一套是宽屏手机(如iPhone5),这样的好处不仅减少重构页面的适配成本外,也在页面展现上提升页面的用户体验。

然而不管是设计2套还是3套以上的视觉稿来辅助前端来完成页面,最终还是会抵挡不住设备更新换代带来的适配问题,移动设备不断从低分辨率到高分辨率过渡,不同分辨率尺寸差异越来越大,适配越来越头疼。

亲,你还在为以上事情烦恼吗?来~请使用新鲜出炉的pageResponse.js,一套视觉稿适配移动设备全家,让烦恼通通见鬼去!!!

目录

  • 原理及说明
  • github地址
  • 真实案例
  • contian模式(推荐)
  • cover模式
  • auto模式(默认模式)
  • 结合fullPage滑屏框架的例子
  • 快速上手

原理及说明

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

github地址

https://github.com/peunzhang/pageResponse

真实案例

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

contian模式(推荐)

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

预览

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(){
    var page = new pageResponse({
        class : ‘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(){
    var page = new pageResponse({
        class : ‘page‘,     //模块的类名,使用class来控制页面上的模块(1个或多个)
        mode : ‘contain‘,     // auto || contain || cover
        width : ‘640‘,      //输入页面的宽度,只支持输入数值,默认宽度为320px
        height : ‘1008‘      //输入页面的高度,只支持输入数值,默认高度为504px
    })
}

demo下载

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

祝大家粽子节快乐~

时间: 2024-10-07 13:14:32

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

高清屏及适配不同设备的方案总结

关于一些Retina,设备像素,移动适配的知识,网上一搜也是一大把,但是基本的东西并没有变化太多.下面就我看过的一些有关于这方面的知识做一些总结(仅以个人的角度出发,所以有不全的地方还请大家谅解).后面会有不定期的更新~每个知识点我都会在开关写出引用地址,所以大家有不懂的可以看原文章~ 一.关于设备像素比(devicePixelRatio) 出处:高清屏概念解析与检测设备像素比的方法 所谓设备像素比(devicePixelRatio)指的就是设备上物理像素和设备独立像素(device-indep

IOS SizeClass 和 Autolayout 适配各种设备

现在苹果生态圈中的设备尺寸也已经变得种类繁多了,设备种类如下:iPad:iPad1,iPad2,newPad,iPad4,iPad air,iPad air2,iPad mini1,iPad mini2,iPad mini3,iPad pro;iPhone:iPhone3Gs,iPhone4,iPhone4S,iPhone5,iPhone5S,iPhone5C iPhone6,iPhone6 Plus,iPhone6S,ipad iPhone6S Plus;iWatch 屏幕大小: iPhone

h5适配之viewport

前言: 最近自己写的wap老项目要嵌入别人家的app里,然后就OMG的了,适配出了问题,网页上一切正常的,自家app也没问题,咋个嵌入app就出问题了?于是陷入了深思... 以前为了遵循设计稿(750),用了祖传代码: (function () { var phoneWidth = parseInt(window.screen.width); //375... var phoneScale = phoneWidth / 750; var ua = navigator.userAgent; var

H5 适配 动画animation js touch

图片预加载jquery插件 jquery.imgpreload var load_img = [];load_img.push('http://m.pubuzhixing.com/Images/vote/music.gif');load_img.push('http://m.pubuzhixing.com/Images/vote/music_off.png'); // 资源图片加载jQuery.imgpreload(load_img, {all: function () {//加载完成 } })

手机端h5适配&lt;mete&gt;标签

apple-mobile-web-app-capable 设置Web应用是否以全屏模式运行. 语法: <meta name="apple-mobile-web-app-capable" content="yes"> 说明: 如果content设置为yes,Web应用会以全屏模式运行,反之,则不会.content的默认值是no,表示正常显示.你可以通过只读属性window.navigator.standalone来确定网页是否以全屏模式显示. 兼容性: i

适配ios设备集锦

本文收录一下关于ios适配的media query规则 iPad: Js代码   @media only screen and (min-device-width:768px) and (max-device-width:1024px) { //.... } iPad横屏: Js代码   @media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation: landscape

mobile_适配_设备兼容

em  参照本身元素的 font-size rem 参照 html 根元素 的 font-size rem 适配(同一元素,在不同设置上,效果一样) 原理 页面中的元素,统一 单位 rem 根元素字体大小 设置成 整个屏幕的宽(1 rem = 375px) // 适配 (手写 面试题) (function(){ /* 1. 创建 style 标签 */ var styleNode = document.createElement("style"); /* 2. 给 style 标签添加

PC网页适配手机设备

关键标签 <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />

【原】移动web资源整理

[原]移动web资源整理 回顾2014年,刚转来到新的部门,非常渴望做出一个所谓的成功产品,心态几乎变了,每天都忙忙碌碌在项目中,把原来阅读和学习的习惯给忽视了,作为一个技术人员,没有通过学习新的知识来充实自己,跟进时代的步伐,是比较致命的:另外一点是运动也缺少了,感觉身体不如从前,例如工作太累,晚上容易失眠,让自己感到惶恐,想想就不开心.于是简单给自己定个2015上半年的计划: 贷款买个房子 每周羽毛球.跑步.骑单车 阅读<自控力>.<大数据时代>.<逻辑思维> 学习