记: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 ...
随机推荐
- Tomcat启动报错:严重: StandardServer.await: create[8005] java.net.BindException: Cannot assign requested address
org.apache.catalina.core.StandardServer await SEVERE: StandardServer.await: create[8005]: ...
- long和Long的区别
Java中数据类型分两种:1.基本类型:long,int,byte,float,double2.对象类型:Long,Integer,Byte,Float,Double其它一切java提供的,或者你自己 ...
- c语言头文件和源文件不在同一个目录
http://www.cnblogs.com/ShaneZhang/archive/2013/05/20/3088688.html 从工程上讲,头文件的文件名应该与对应的源文件名相同便于维护,如果头文 ...
- 【原创】Leetcode -- Reverse Linked List II -- 代码随笔(备忘)
题目:Reverse Linked List II 题意:Reverse a linked list from position m to n. Do it in-place and in one-p ...
- Android UI开发第三十篇——使用Fragment构建灵活的桌面
http://www.lupaworld.com/article-222973-1.html 当我们设计应用程序时,希望能够尽最大限度的适配各种设备,包括4寸屏.7寸屏. 10寸屏等等,Android ...
- [POJ1753]Flip Game(开关问题,枚举)
题目链接:http://poj.org/problem?id=1753 和上一个题一样,将初始状态存成01矩阵,就可以用位运算优化了.黑色白色各来一遍 /* ━━━━━┒ギリギリ♂ eye! ┓┏┓┏ ...
- C# 常用控件及单击事件
1.窗体 1.常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2)WindowState属性: 用来获取或设置窗体的窗口状态. 取值有三种: No ...
- npm在项目目录安装插件需要使用sudo
今天使用node的npm安装插件的时候遇到一个问题,那就是在项目目录里面安装插件的时候,必须使用超级用户(sudo)执行才会安装成功,否则会报如下错误: 以安装 gulp-uglify 为例 $ np ...
- 清幽傲竹实现kbmMWServer的方法(转)
感谢竹子! 整体思路,是不用kbmMWUNIDACQuery,而是直接用uniQuery做数据查询,利用kbmMWUNIDACConnectioPool取得数据库联接,自己再建一个uniQuery对象 ...
- 沉浸式学 Git
沉浸式学 Git cover — contents — about 目录 设置 再谈设置 创建项目 检查状态 做更改 暂存更改 暂存与提交 提交更改 更改而非文件 历史 别名 获得旧版本 给版本打标签 ...