版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、如何打造一个高效适配的h5本文主要分享打造一个高效适配h5的小技巧,希望对大家有所帮助。以往拿到一份视觉稿要做页面适配,通常都是针对不同分辨率尺寸做断点写 media query,然后看效果再微调。开发过程中视觉稿要是做了修改,修改的地方就得再走一遍分辨率测试和微调,这时想屎的心都有了。而且这些适配都是建立在已知的分辨率尺寸库上,如果市面新出来一款分辨率尺寸机型,呵呵,又要奔跑在测试微调路上。是不是能有用一套代码就适应各种分辨率窗口,那么就不会再有上面 这些烦恼,且开发效率快和维护成本会降低很多。答案是有的,而且这种形式最早出现于 flash 全屏整站,前阵子拜读了举总介绍的一篇文章关于图片适
2、配属性object-fit,发现这个属性object-fit 虽然只能应用在图片上,但是它的适配思路完全可以借鉴运用在h5 页面适配上,这种思路即是缩放,也是本篇文章的核心内容。就是无论窗口宽高比怎样,页面能自动缩放到窗口大小,而且元素的坐标及大小还可以使用精确和便于js计算的px为单位。这里借用 object-fit的方法命名方便记忆,下面简单介绍 h5 页面适配几种展现形式。1、contain 模式:以内容中心为基点按照视觉稿的宽高比缩放以适配窗口显示全页面内容,窗口与内容的宽度比或高度比之间较小者缩放填满窗口,当窗口宽高比和视觉稿不同时,另一方向的两侧出现留空部分。2、cover 模式:
3、以内容中心为基点按照窗口的宽高比等比缩放以适配窗口,窗口与内容的宽度比或高度比之间较大者缩放填满窗口,当窗口宽高比和视觉稿不同时,另一方向的两侧超出窗口被裁剪,这种模式不会出现contain 模式的留空部分情况。3、fill 模式:以内容中心为基点页面拉伸填充满整个窗口以适配窗口,当窗口宽高比和视觉稿不同时,内容一定程度上被拉伸。4、scale-width 模式:页面横向缩放填充满窗口,纵向按视觉稿的宽高比放大。出来的效果有两种可能性,contain 模式或者cover 模式的效果。5、scale-height 模式:页面纵向缩放填充满窗口,横向按视觉稿的宽高比放大。出来的效果有两种可能性,c
4、ontain 模式或者cover 模式的效果。下面分别来介绍我在项目中的对于适配的思考和选择以及实现方法。在做适配之前,首先要和设计师定义好页面的宽高比,即设计稿的分辨率大小,因为活动主要是通过微信进行传播推广,所以这里我使用的是iphone5/5s机型微信浏览器窗口分辨率640*1008。选择这个分辨率主要出于以下2点综合考虑:客户端分辨率占比数。根据友盟和腾讯云运营活动近几个月的数据统计,iphone5/5s 640*1136 这个分辨率是 ios 平台占比最多的,同时过高的分辨率对低端机型是一种浪费,需要花额外多的流量来下载这些资源;同宽高比尺寸的平台占比数。同样尺寸比的android
5、平台分辨率 720*1280 和 1080*1920 占比数也是最多的。拿最近做的项目举例,该 h5 页面基本可归类为以下4种内容类型:1、填充满窗口的层,比如背景幕布(图1)。图1这种层实现最简单,采用fill 模式适配形式。实现效果核心代码如下:图1中的图片适配处理,采用cover 模式适配形式。实现效果核心代码如下:2、同时基于水平方向和垂直方向居中的层,比如页面正文内容部分(图2)。图2像这种层背景色是纯色或透明,contain 模式是最佳选择可在任何分辨率窗口显示全页面内容,出现留空部分的颜色可以通过添加一个宽高 100% 的层设置背景属性来修补。实现效果代码如下:3、填充满整个窗口
6、且边缘不是纯色的层,比如(图3)。图3cover模式和fill模式可以作为选择。从易用性看,fill 模式可以精确适应窗口区域,但从视觉体验上看,宽高不等比例的拉伸会造成图片失真,同时该层的主要内容及交互操作集中在中部,不重要的边缘可以适当被裁 剪,故这里选择cover 模式来做适配会更好,实现效果代码同上面示例基本一样,区别在于缩放比处,代码如下:4、大于屏幕的层,可实现跟随手势移动场景画面,比如(图4)。图4scale-width 模式和scale-height 模式适合运用在这类场景,(图4)是横向左右移动层,故这里选用scale-height 模式适配形式。实现效果代码如下:这里宽高等
7、比缩放使用方法除了transform:scale(x,y),也可以使用zoom进行缩放,视实际场景需求选择合适的方法,两者主要不同是:zoom的基点不能自定义,固定是左上角(0,0);transform:scale(x,y)缩放转换后仍占据原始空间大小,zoom缩放转换后占据空间等于缩放后的大小。还有一些复杂的层,但无外乎都可以拆分成以上几种类型层,将内容分层出来,每个层根据内容形式选用相应的适配模式进行缩放。总结1、高效适配的核心思想是缩放。2、每一种适配模式都不是绝对的,需要根据需求场景选用合适的形式。适配前先跟设计师沟通明确适配表现形式,遇到复杂的场景可以把内容拆分出来区分适配。当页面内容不适合方向旋转展示,此时就不要无脑适配,有两个方式可以选择:找设计师出一版另一方向的响应式设计稿然后制作成响应式页面;出现提示方式让用户旋转回支持的方向,比如(图5)。图53、需要设定窗口等于设备物理宽度,即viewport为width=device-width, initial-scale=1。4、适配相关的js放在head里,文档结构加载完成就先执行适配js,给body加一个显隐动画规避在js未执行完成时页面出现缩放前后,显隐
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026国宝人寿保险股份有限公司招聘6人备考题库及答案详解【新】
- 2026新疆克州柔性引进紧缺人才招募82人备考题库附答案详解(达标题)
- 2026江苏南京大学人工智能学院准聘长聘岗位(事业编制)招聘备考题库含答案详解(a卷)
- 2026四川省内江市农业科学院考核招聘事业单位6人备考题库及一套答案详解
- 2026福州鼓楼攀登信息科技有限公司招聘1人备考题库及参考答案详解1套
- 2026山西经济管理干部学院(山西经贸职业学院)招聘博士研究生5人备考题库附答案详解ab卷
- 2026江西南昌大学高层次人才招聘64人备考题库含答案详解(模拟题)
- 2026山东济南市第二妇幼保健院招聘卫生高级人才(控制总量)2人备考题库及答案详解1套
- 2026重庆九洲隆瓴科技有限公司招聘助理项目经理1人备考题库及答案详解(必刷)
- 2026重庆奉节县教育事业单位招聘25人备考题库附答案详解(培优)
- 城市道路日常养护作业服务投标文件(技术方案)
- 国家职业技术技能标准 6-29-03-03 电梯安装维修工 人社厅发2018145号
- 放化疗相关口腔黏膜炎预防及护理课件
- 农业机械设计手册上册
- 智慧高速无人机巡检
- 第三版基本公共卫生服务项目健康教育服务规范解读
- MSA测量系统线性分析报告
- 多维度空间课件
- 景观生态学课件
- 第3章-转座子与遗传重组课件
- 奋战五十天扶摇九万里-高考50天冲刺主题班会 高考倒计时主题班会课件
评论
0/150
提交评论