手动制作微信h5分享活动页面
现在网上有很多自动制作h5宣传页的网站,可以通过传图,点几下鼠标就可以制作一个集动画、生产二维码等各种功能于一身的h5微信宣传页。对于运营来讲,非常方便,没有技术门槛,不足之处就是只有特定的动画效果,而且生成的h5带有这个网站自己的logo也好,自己的打点代码也好,总之,看个人爱好啦~
作为一个正在步入专业前端之列的专业前端工程师,怎么能不会手写这么一个活动页,不过这里面要注意的点还是很多的。
首先,自适应手机分辨率。
我们知道手机的种类特别多,分辨率也有很多种,更不用说长宽比了,有时候在iphone6上刚好撑满屏幕的大小,但是放到安卓机甚至iphone低版本上,都有可能在手机上下两个部位,或者左右两边产生白边。如下图,是常用640*1080的设计稿会出现的问题。但是如果换设计稿满足高度,可以想象,在其他分辨率的手机上,左右会出现红色的空隙。
对于这个问题,我们有三种解决方式:
1.给body设置相近颜色。
背景图上下或者左右两边尽量不要渐变,这样,我们给body设置成边缘的颜色,可以有效的防止出现如此明显的空隙。
2.背景图用自动放大或缩小的方式。
在加载页面的时候,先用js判断屏幕的长和宽,window.innerWidth,window.innerHeight可以得出窗口的文档显示区,再量出设计稿的文档大小如psdWidth,psdHeight;
var widthScale = window.innerWidth / psdWidth;
var heightScale = window.innerHeight/psdHeight;
这里widthScale,heightScale的就是背景图片的缩放比例了,想要保证宽度的就是用widthScale来缩放,这样上下会以body背景色填充;想要填满的可以判断widthScale和heightScale然后选个大的。
接着设置html5内容的容器的放大或者缩小值:
#h5content{
webkittransform:scale(0.7261904761904762);//scale即为计算出来的widthScale或者heightScale
transform:scale(0.7261904761904762);
-webkit-transform-origin:0 0;
transform-origin:0 0;
top:0px;
left:-26.38095238095238px;
}
别忘了通过下面的代码设置图片的居中位置:
top: (window.innerHeight - uiHeight*scale)/2 + 'px';
left: (window.innerWidth - uiWidth*scale)/2 + 'px';
这种方式,以640*1008的设计稿为例,用scaleWidth回产生上下的白边,用heightScale会造成背景图片的拉扯。在实际过程中需要按情况考虑。
3.多套图。
设计提供不同分辨率下的背景图,通常是3套:iphone4,4s的640*960,5,5s的640*1136,6+的1242*2208,安卓机器以这三套图的标准拉拉扯扯,留个小白边就好。
其次,整体布局。
我们知道了如何适应不同的手机,接下来就是着手做h5了。
整个页面是呈现在一个html上的,不同的页面之间通过div的滑动模拟页面切换。
这个地方并不麻烦,可以使用一些现成的插件,如swiper。
上图的body包括两部分,img和div#h5content:
1)img用来制做分享后显示在描述左边的小icon,放一个想办法在当前页面看不到的图片就好,图片大小要300*300以上。
2)h5content里面就是所有h5页面的集合啦,一个页面一个div,在这个div中,按照设计稿来制作相应页面的事件和动画。
注意:在这里如果对自适应要求很高的话,尽量使用图片,因为其可以根据自身比例调整大小;不过一些文字,则需要使用百分比的方式进行自适应的位置及大小设定。还有,可以的话尽量把图放在一张大图上,减少请求数目。
加载页面动画
加载动画可以监听页面图片的load事件来设定,
jquery的load事件可以用来监听图片的加载完成,不过要注意的是,每一张图片都会触发这个事件,一定要做好判断,等加载完最后一张的时候,把等待动画去掉。
如:
var num = $('.bg img').length; $('.bg img').load(function(){
num--;
if (num > 0) {
return;
}
console.log('load compeleted');
}
js的onload事件也可以完成相应的功能。
以上就是制作一个h5移动端宣传页的必备知识啦,当然还有meta要带上手机特定的那些设置,一些常用的美丽动画要熟悉~~接下来就愉快的去做页面吧。
手动制作微信h5分享活动页面的更多相关文章
- 微信H5开发,页面被缓存,不更新
原文:https://blog.csdn.net/qq_27471405/article/details/79295348 这里只是备份 前言:每一次请求,我们都知道浏览器会做一定处理,其中就包括对 ...
- js-禁止微信H5页面点击右上角菜单时出现“复制链接”,且分享仅支持微信分享
禁止微信H5页面点击右上角菜单时出现“复制链接”,这个问题已经影响到我很久很久了,起码有2年了, 昨天写H5活动的时候,需求有一个是:可分享,但是禁止复制活动链接, 这一下,就逼我务必好好研究研究了. ...
- H5移动端页面设计心得分享
去年JDC出了不少优秀的武媚娘…不,H5呢,大家都很拼,同时当然也积累了一些经验和教训,今天结合咱们的实战案例,从字体,排版,动效,音效,适配性,想法这几个方面好好聊一聊关于H5的设计,希望对同学们有 ...
- 领导让我重新做一个微信H5页面!
leader:我们需要做一个微信H5页面,效果如图,功能如描述,时间越快越好. 需求是不是很简单呢?2015-11-24 12:44:00文末有最新更新 背景描述 前几天微信转发相关项目开发后,这是第 ...
- H5移动端页面设计心得分享(转载)
去年JDC出了不少优秀的武媚娘…不,H5呢,大家都很拼,同时当然也积累了一些经验和教训,今天结合咱们的实战案例,从字体,排版,动效,音效,适配性,想法这几个方面好好聊一聊关于H5的设计,希望对同学们有 ...
- C#开发微信门户及应用(44)--微信H5页面开发的经验总结
在我们开发微信页面的时候,需要大量用到了各种呈现的效果,一般可以使用Boostrap的效果来设计不同的页面,不过微信团队也提供很多这方面的资源,包括JSSDK的接口,以及Weui的页面样式和相关功能页 ...
- 微信H5页面 - 调酒
这是微信H5的一款小游戏(一款酒的推广活动),主要游戏页面如下: 游戏规则: 点击选择2个元素(圈圈图片),放入瓶中,使它们与瓶中已有的三个元素碰撞,调配佳酿. 只有选择正确的2个元素搭配,才可以调配 ...
- 微信H5页面前端开发,大多数人都会遇到的几个兼容性坑
最近给公司微信公众号,写了微信h5业务页面,总结分享一下前端开发过程中的几个兼容性坑,项目直接拿的公司页面,所以下文涉及图片都模糊处理了. 1.ios端兼容input光标高度 问题详情描述:input ...
- H5+ 分享到微信、朋友圈代码示例
h5+分享到微信.朋友圈代码示例 在使用分享功能的时候会莫名的分享失败,debug时发现是图片过大的问题. 图片过大时ios平台上返回错误码-8,安卓上返回错误码-3(我测试是这样) 因此如果第一次分 ...
随机推荐
- 用scikit-learn进行LDA降维
在线性判别分析LDA原理总结中,我们对LDA降维的原理做了总结,这里我们就对scikit-learn中LDA的降维使用做一个总结. 1. 对scikit-learn中LDA类概述 在scikit-le ...
- ASP.NET Aries 入门开发教程6:列表数据表格的格式化处理及行内编辑
前言: 为了赶进度,周末也写文了! 前几篇讲完查询框和工具栏,这节讲表格数据相关的操作. 先看一下列表: 接下来我们有很多事情可以做. 1:格式化 - 键值的翻译 对于“启用”列,已经配置了格式化 # ...
- Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示
Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...
- MVC CodeFirst简单的创建数据库(非常详细的步骤)
最近在学习MVC的开发,相信有过开发经验的人初学一个新的框架时候的想法跟我一样最关心的就是这个框架如何架构,每个架构如何分工,以及最最关键的就是如何与数据库通信,再下来才是学习基础的页面设计啊等 ...
- Discuz NT 架构剖析之Config机制
接触了Discuz NT! 一段时间了,是时候做个总结了,标题好霸气,有木有? 都是托园子里的大牛代振军的福啊,哈哈哈哈. 首先论坛的信息不是完全存储在数据库里面的,一部分信息存储在config文件里 ...
- HIVE教程
完整PDF下载:<HIVE简明教程> 前言 Hive是对于数据仓库进行管理和分析的工具.但是不要被“数据仓库”这个词所吓倒,数据仓库是很复杂的东西,但是如果你会SQL,就会发现Hive是那 ...
- Git分布式版本控制教程
Git分布式版本控制Git 安装配置Linux&Unix平台 Debian/Ubuntu $ apt-get install git Fedora $ ) $ dnf and later) G ...
- SQLServer 各版本区别
SQLServer 2012 新特性 通过AlwaysOn实现各种高可用级别 通过列存储索引技术实现超快速的查询,其中星型链接查询及相似查询的性能提升幅度可高达100倍,同时支持超快速的全文查询 通过 ...
- Linux字符设备驱动框架
字符设备是Linux三大设备之一(另外两种是块设备,网络设备),字符设备就是字节流形式通讯的I/O设备,绝大部分设备都是字符设备,常见的字符设备包括鼠标.键盘.显示器.串口等等,当我们执行ls -l ...
- Linux 权限设置chmod
Linux中设置权限,一般用chmod命令 1.介绍 权限设置chmod 功能:改变权限命令.常用参数: 1=x(执行权execute) 2=w(写权write) 4=r(读权Read) setuid ...