主流的h5前端开发流程

一、 流程

设计师以750pt×1334pt尺寸进行设计(当然高度随内容变化),最后用该尺寸的设计稿进行标注、切图,前端采用flexible进行适配。

二、 flexible使用方法

Flexible的使用方法非常简单,只需要引入flexible_css.js和flexible.js 下载地址

l  第一种方法将文件下载后放入项目中引用(省略写法,大家都懂的)

l  第二种直接使用阿里CDN资源

<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js" ></script>。

l  第三种直接使用内联的方式将js贴到<head></head>之间(强烈建议)

js执行完成后,会在<html>元素上增加一个data-dpr属性,以及一个font-size样式。Js会根据不容屏幕判断dpr的值(1/2/3),同时给html加上相对应的font-size(例如75px) 。

到此,我们页面上的元素都可以通过rem单位来设置,他们会根据<html>元素的font-size做相应计算,从而达到不同屏幕的适配。

  • 下面就是如何将px转换成rem:

前面说了,我们是按750px的设计稿进行开发,为了方便换算,flexible将750pt下的<html>元素设置font-size为75px,我们将这个值称之为rem基准值,针对这份设计稿,我们可以知道 1rem=75px。

这样一来,对于视觉稿上的尺寸换算,只需要将原始px值除以rem基准值,例如视觉稿中179px*150px换算成2.346667rem*2rem。

  • 如何快速换算

在实际生产过程中,每次都要计算px转换rem,肯定会觉得非常麻烦,降低生产效率,为了提高效率,建议大家使用Hbuild或sublime开发工具,这两个工具集成了自动转换的功能。

以Hbuild为例,右击项目->属性->代码助手设置->启用项目特定的设置->启动px转rem提示

  • 字号不使用rem

在不同的屏幕下,我们是不希望看到字号也随屏幕缩放,我们希望在小屏上看清文本,在大屏上看到更多的文本,所以字号还是用px单位设置,以及现在绝大多数的字体文件都自带点阵尺寸,通常是16px和24px,所以不希望出现13px、15px这样的奇葩尺寸。

根据flexible的适配方案,dpr=2时<meta name=”viewport”>initial-scale属性为0.5,dpr=3时<meta name=”viewport”>initial-scale属性为0.3333333333

所以的用[data-dpr]属性来区分不同dpr下的文本字号大小

.detail-line-content{font-size: 12px;}

[data-dpr="2"] .detail-line-content{font-size: 24px;}

[data-dpr="3"] .detail-line-content{font-size: 36px;}

三、总结

flexible是淘宝开源的h5适配方案,手机淘宝从14年开始至今一直在使用,比较稳定,并且在开发过程中不要进行复杂的折算,直接使用设计稿中的尺寸,方便好用。该方法是主流的h5前端开发方案之一,是自己根据大漠老师写的文档,进行了归纳总结,如有错误之处,敬请指正。

四、参考资料

http://www.w3cplus.com/mobile/lib-flexible-for-html5-layout.html

https://zhuanlan.zhihu.com/p/25422063

时间: 2024-10-07 22:51:34

主流的h5前端开发流程的相关文章

搭建前端的开发环境和前端开发流程总结

一.搭建前端的开发环境 1.代码编辑工具:sublime/WebStorm/HBuilder. 2.断点调试工具:Firebug. 3.版本管理工具:Git(本人建议使用git,至于原因大家可以看看相关blog),安装完成后我们就可以从github上clone一些项目. 4.代码合并和混淆工具:webpack (Webpack具有Grunt.Gulp对于静态资源自动化构建的能力,同时兼容AMD与CMD的模块加载规范). 4.开发调试工具:NodeJs.很多非常有用的工具都是基于NodeJs的,我

如何构建自动化的前端开发流程

我们先来看下前端开发可能存在的问题: 我们有许多的第三方库的依赖需要管理: 我们有独立的前端测试需要自动运行: 我们还有很多代码需要在发布时进行打包压缩: ?? 所以构建一个自动化的前端开发流程是非常必要的,但现在前端开发流程的构建是百花齐放,没有一个统一的标准,还有很多依赖于后端的架构来做前端开发管理.例如在Rails开发中,就有各种前端库的gem包.但是这种依赖于后端框架的管理方式有许多问题: 许多gem包的维护者并不是前端库的维护者,所以更新不一定即时: 不利于前端代码与后端代码做分离:

看大师讲解移动互联网前端开发流程

你做过移动互联网开发吗?在移动互联网超级火爆的今天,你是否也想分的一杯羹呢,来这里看大师给你讲解如何完成一款app,本文的主旨在于讲解在app的制作流程. 今天完成了完全属于自己的一款安卓应用,整个流程都是我一个人跑下来的,感觉小有成就,名字叫"长见识了",是一款趣味答题类的游戏,题目各种火爆各种经典,下载地址,看似一个简单的答题小游戏却是五脏俱全,从开发流程上都进行了严格的规范,大家有空可以下载玩玩~ 该项目虽然比较简单,但是从项目需求分析到最后的开发测试上架流程都是完备了的. 一,

系列网页。前端开发流程

实践了一段时间,发现<Freshman.前端开发流程.>里面的东西比较适合从头到尾开发一个新页面的情况,而在具体开发工作中,我们大部分时候是开发一系列网页,有一些元素(比如很多页面的top/banner部分)是类似的. 所以开发的流程可以是开始先做好第一个页面的全部,把公共部分抽取出来,然后之后的页面只要修改不同部分就好.

移动端开发者眼中的前端开发流程变迁与前后端分离

写在最开始 移动端与前端的区别 前端开发的混沌时代 后端 MVC MVC 方案实现 MVC 的缺点与改进 前端只写 Demo HTML 模板 后端 MVC 架构总结 AJAX 与前端 MVC 前后端分离的缺点 双端 MVC 不统一 SEO 性能不够 集中 Or 分离 Nodejs 前后端分离的哲学 Nodejs 分层 实战应用 风险控制 总结 参考资料 写在最开始 这是一篇面向移动端开发者的科普性文章,从前端开发的最初流程开始,结合示范代码,讨论开发流程的演变过程,希望能覆盖一部分前端开发技术栈

我们一般的前端开发流程

有些毕业生或非it行业的人,想了解真正的一个开发流程,就我个人的经验做以简单的分享,仅供参考,不是一个覆盖全行业的事实标准. 老板或甲方是一个需求的真正发起者,也是一个基础idea的梦想师,产品是需求专业化梳理或进行有效评估细化需求负责的, 而设计是前端的上游,前端是设计的下游.设计的工作目的是把产品宏观的思维结果进行专业的处理,因为按一般的习惯,产品最终的结果是原型图,而原型图可以理解为设计的草图, 对真正的用户来说,这个草图过于简单或不符合使用的操作习惯,所以需要设计师进行专业的处理,比如颜

微信H5支付开发流程(前端)

功能描述 公司最近有个项目要做基于微信的H5校服定制wepApp的开发,用户选择完商品后结算,整个流程结束.此文主要针对订单和结算流程介绍.在整个支付流程过程中,前端只做了很少一部分的工作(传递参数给后台使之生成订单,拿到订单相关参数调用WeixinJSBridge.invoke方法唤起微信支付界面,),大部分操作涉及安全问题均在后台实现. 准备工作 (1)设置支付目录 在"商户平台-产品中心-开发配置"设置公众号支付目录.这个一般要提前申请,需要审核资质,需要营业执照等等. 微信生态

前端开发流程

产品经理下达任务--ui作图--前端根据ui的图做效果--与后台人员交流 工作中的流程: 早上开早会,产品经理下达命令,讲述昨天完成任务,今日目标. 关于项目中的介绍,一般有工作经验的人,常用的动态效果都会自己封装一个插件. 比如说图片轮播,翻页,tab切换页面. 移动端的项目,用***js做的,用这个js实现了什么效果,在整体页面用什么布局模式,都适配那些,如果做到适配的,介绍一个页面,从上到下,移动端会有上拉加载,下拉刷新, 要分析出这些效果是如何做的,在做这些个项目的时候是怎么解决的 (在

前端开发流程---我们应该做些什么

一.拿到原型图,先自我解析需求,画出思维导图,流程图 在未拿到UI给定的PSD时,可以先理清我们的需求 依赖的外部资源 后端提供的接口 UI出图的大概布局 后期频繁改动的地方 需要实现的效果 下拉刷新 动画效果 吸顶效果 懒加载.预加载.防抖.节流 二.产品召集项目相关人员,开需求讨论会,产品讲解原型 理解产品的需求,提出质疑:这是什么功能,怎么做,为啥这么做 评估实现难度和实现成本,是否有潜在技术问题/风险 对比自己整理的需求图,如果有和自己想的不符合的,提出疑问 理解PM提出此次需求的目的,