记:Tmall活动页面开发
一、年轻的我
“无人不成商”,如果一个电子商务网站想要做起来,搞活动时必不可少的(引入流量、提高用户黏度、活跃网站氛围),今天打折,明天送红包。
(立秋活动,右)
作为一个前端,我当然要从技术的角度来讲一下活动页面怎么做,怎么做?刚到,天猫的时候第一个任务就是要做一个(关于立秋食材)的活动页面。由于,太年轻了,跟着我的前任,来到设计师妹纸的屏幕下晃了两眼,嗯,不错,真漂亮,呵呵(可以意会)。言归正传,当时觉得这个页面挺简单的啊,不就切个图嘛,一两天随便玩嘛,还是太年轻。
前两天我一点也不急,淡定中。直到大限将至,开始整了。前面,很是顺利,框架几下子就搭起来了,接着就切图往里面填素材(要求每张图片的大小不超过50k)。切着切着,觉着不对劲,ps玩过但没有这么玩过,后果就是起来感觉不行,重切,不行,重切,下一张,不行,重切....最最麻烦的是页头(下面细诉难点),切了一天怎么都有空隙,不得不求教前辈了。不知不觉,时间就要到了,设计师,看了设计稿后,是这样的......,好吧,你把要改的地方写个文档。后来,要放到线上的预发环境,我又发现了一个问题,就是图片的本地链接要换成线上的,靠,这个不是坑爹吗(几十张图啊)?我试着问了一些前辈,他们说没有这样的工具(实际上是有的,怪我问错人了)。好吧,于是我又自己随手写了一个图片链接自动替换的工具...后面的事不再细说,这就是成长的代价啊。(沟通不足,切在不了解环境的前提下盲目自信,还是太年轻啊)。
二、“我要打十个!”
后来,做了些活动页面,慢慢的有了些体会。总结一下吧,
活动页面,往往量是非常大的,而且有很多个性化,据活动组的同学说(一周可以达到上百个),“我要打十个!”是经常回荡在他们中间的一句话。
活动页面涉及到几个很重要的部分,构图、图片、组件(包含模板)。
1、构图
当你拿到一个psd,你怎么下手切图?这就是构图的过程,可以通过拉出辅助线来帮助构图,在使用切片工具将大图分隔为几个划定的小图。我着重介绍最麻烦的页头切割,
方式一,中分:

特点:布局比较容易,但是切图时很难精确,(就算精确)两个背景间也很难完全吻合,此时会有缝隙出现。解决这个问题需要在切割时,多切几个像素。
方式二,水平:

特点:切图简单,但是布局相对复杂,需要的dom元素也较多。
注:(这里存在两种布局方式,将图片作为背景,或者使用absolute,50%布局,或者对避免图片间的空隙有很大作用。)
布局:contianer{width:100%;backgorund:url center;}
或者 inner{pos:absolute;left:50%;margin-left:-(width/2)px;}
当然,还有更多其他的方式。
3、图片:
1)、常用图片格式,为gif,jpg,png(png8,png24)。对于活动的背景图,期色彩通常不会特别的艳丽,这种情况下使用gif将会有更好的效果,其质量趋近于jpg的最高品质,当前大小却相当于jpg的中等品质。 (中等品质下图片已经模糊了)
2)、使用web图片格式(ps,ctrl+alt+s),同一种格式将拥有更小的图片大小。
3)、透明
在移动端采用Png8来完成透明,质量小,且支持良好。
在PC端,除IE6外采用Png32来完成透明,IE6下则使用Png8,其次是Gif。
三、组件、模板
组件、模板复用可以加快页面开发速度,而活动的个性化较低,重复度较高(固定导航,图片热区,tab切换,投票,分享),如果做好了组件和模板的沉淀,那么搭建页面框架,添加功能就会非常的容易。
记:Tmall活动页面开发的更多相关文章
- 【从零开始学BPM,Day5】报表配置及自定义功能页面开发
[课程主题] 主题:5天,一起从零开始学习BPM [课程形式] 1.为期5天的短任务学习 2.每天观看一个视频,视频学习时间自由安排. [第五天课程] 1.课程概要 Step 1 软件下载:H3 BP ...
- C#开发微信门户及应用(44)--微信H5页面开发的经验总结
在我们开发微信页面的时候,需要大量用到了各种呈现的效果,一般可以使用Boostrap的效果来设计不同的页面,不过微信团队也提供很多这方面的资源,包括JSSDK的接口,以及Weui的页面样式和相关功能页 ...
- 手机web页面开发-第一弹
毕业设计题目<基于three.js的太阳系全景漫游>,项目开发运行在手机端,开始学习手机端页面开发. 新建index.html,写meta标签.meta标签分为两大部分:http标题信息( ...
- X5的UI部分和传统Web页面开发的差异
http://doc.wex5.com/different-with-std-web-ui/#1 X5的UI部分和传统Web页面开发的差异 WeX5是跨端移动开发框架,BeX5是基于WeX5的企业快速 ...
- 优化单页面开发环境:webpack与react的运行时打包与热更新
前面两篇文章介绍初步搭建单页面应用的开发环境: 第一篇:使用webpack.babel.react.antdesign配置单页面应用开发环境 第二篇:使用react-router实现单页面应用路由 这 ...
- 移动端页面开发适配 rem布局原理
主题 HTML移动端页面开发适配 rem布局原理 什么是适配,为什么要适配 我们拿到的设计图一般是以640,750,1080分辨率为基准设计的,而现在的手机终端各式各样,分辨率不同,逻辑像素不同 ,适 ...
- offline页面开发常用方法及页面控件验证
offline页面开发常用方法及页面控件验证,对一些CheckBoxList操作进行封装,新人可以直接使用该代码. 1.返回上一页网址 /// <summary> /// Descript ...
- vue搭建多页面开发环境
自从习惯开发了单页面应用,对多页面的页面间的相互跳转间没有过渡效果.难维护极度反感.但是最近公司技术老大说,当一个应用越来越大的时候单页面模式应付不来,但是没讲怎么应付不来,所以还得自己去复习一遍这两 ...
- 记一次SpringBoot 开发中所遇到的坑和解决方法
记一次SpringBoot 开发中所遇到的坑和解决方法 mybatis返回Integer为0,自动转型出现空指针异常 当我们使用Integer去接受数据库中表的数据,如果返回的数据中为0,那么Inte ...
随机推荐
- *[topcoder]TaroFriends
http://community.topcoder.com/stat?c=problem_statement&pm=13005 好题.最暴力是试验2^n种跳法.然后有从结果入手,那么最终的左右 ...
- C内存分配函数
C语言跟内存分配方式(1) 从静态存储区域分配.内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量,static变量.(2) 在栈上创建.在执行函数时,函数内局部变量的 ...
- Intellij IDEA新建一个EJB工程(二)
从博文:http://www.cnblogs.com/yangyquin/p/5328344.html 中可以知道如何利用Intellij IDEA建立一个EJB Module,还有新建一个测试Mod ...
- OpenCV在Android平台上的应用
今年8月份, OpenCV 2.3.1发布了. 虽然从2.2开始, OpenCV就号称支持Android平台, 但真正能让OpenCV在Android上运行起来还是在2.3.1版本上. 在这个版本上, ...
- LA 6042 Bee Tower 记忆化搜索
一开始读漏了很多细节,用递推写死活跑不出样例. 把题目中的细节列一下吧,状态方程很好推,改成记忆化搜索之后代码也很清晰. 1.蜜蜂需要到最高的塔去,最高的塔可能不止一个,抵达任意一个即可. 2.蜜蜂每 ...
- netty websocket协议开发
websocket的好处我们就不用多说了,就是用于解决长连接.服务推送等需要的一种技术. 以下我们来看一个例子: package com.ming.netty.http.websocket; impo ...
- poj 2777 Count Color(线段树 区间更新)
题目:http://poj.org/problem?id=2777 区间更新,比点更新多一点内容, 详见注释, 参考了一下别人的博客.... 参考博客:http://www.2cto.com/kf/ ...
- log4j配置webapp日志系统
1.基础知识: Log4j的中文文档 (这是根据最新的log4j(jakarta-log4j-1.2.8)的开发包自带文档的manual翻译的) http://dev.csdn.net/develop ...
- bzoj2431: [HAOI2009]逆序对数列
dp. f[i][j]表示放置第i个数有j个逆序对的方案数. s[i][j]维护前缀和(f[i][0]~f[i][j]). 状态转移方程 f[i][j]=s[i-1][j]-s[i-1][max(j- ...
- hMailserver设置外部反病毒扫描程序
刚在5dmail上发现有人提出一个问题,他在hmailserver的外部病毒扫描程序中使用了瑞星那个娱乐货,结果呢,说瑞星太勇猛了,所有附件都认为病毒了,这是怎么个情况呢? 先从hmailadmin里 ...