博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【原】pageResponse - 让H5适配移动设备全家(移动端适配)
阅读量:4356 次
发布时间:2019-06-07

本文共 2192 字,大约阅读时间需要 7 分钟。

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

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

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

目录(更新于20151013)

 

原理及说明

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

github地址

 

真实案例

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

contain模式(推荐)

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

cover模式

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

auto模式(默认模式)

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

结合fullPage滑屏框架的例子

快速上手

meta的viewport设置:

启用插件代码示例一:

你一定也有过一个翱翔天际的梦1

- 回家,或踏上旅途,飞机是自由的符号 -

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

启用插件代码示例二:

你一定也有过一个翱翔天际的梦1

- 回家,或踏上旅途,飞机是自由的符号 -

是否还记得她

 

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

 

 

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

祝大家粽子节快乐~

转载于:https://www.cnblogs.com/PeunZhang/p/4517864.html

你可能感兴趣的文章
oracle timestamp转换date及date类型相减
查看>>
win系统下nodejs安装及环境配置
查看>>
读《人工智能狂潮——机器人会超越人类吗?》笔记
查看>>
什么是设计模式?
查看>>
博客作业05--查找
查看>>
UITableView类用法大全:UITableView属性
查看>>
Http协议状态码总结
查看>>
linux kernel "current" macro
查看>>
CSS3 04. 伸缩布局、设置主轴,侧轴方向、主/侧轴对齐方式、 伸缩比例、元素换行、换行控制、覆盖父元素的align-items;控制子元素顺序、web字体、突变字体...
查看>>
眼见不一定为实
查看>>
图是否是树 · Graph Valid Tree
查看>>
643. Maximum Average Subarray I 最大子数组的平均值
查看>>
598. Range Addition II 矩阵的范围叠加
查看>>
“帮你”校园资讯平台app使用体验
查看>>
指针与数组的寻址方式
查看>>
Oracle和MySQL在使用上的区别
查看>>
程序媛,坚持这几个好习惯让你越来越美
查看>>
前端切图:手机端自适应布局demo
查看>>
hdu2191 多重背包
查看>>
libevent文档学习(一)多线程接口和使用
查看>>