童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

腾讯TID:环球妙旅程活动分享

4月12日 眸中星投稿
  从下半年开始,我尝试在活动页面中添加css3动画,让标准浏览器的用户能够看到更加炫的效果。一直小打小闹的试验着各种效果前不久,鬼哥跟我说有个活动要大量使用css3动画,各种动!内心一阵狂喜
  这是与南航公司合作的活动,用户通过选择航线(欧洲线或北美线),每个航线4个城市,完成航线后转发微博即可参与抽奖。城市间通过css3动画转场切换,对于IE浏览器通过JS做切换。每个城市还会使用css3让小元素动起来。
  经过三周的努力,活动终于上线了,但是过程并非想象那么顺利。
  环球妙旅程活动体验:http:cxh。tenpay。com2013hqmlc,欢迎猛击
  过程中遇到的问题下面跟大家分享一下:
  分享内容:
  活动HTML剖析
  动画实现
  遇到的问题及解决方法
  按需加载
  图片裁剪
  图片文字
  自适应
  fixed定位问题
  经验总结
  【活动HTML剖析】
  由于航程的8个城市需要随着地球转动进行切换,8个城市的内容需要对底部的地球相对定位,这样控制地球转动就能实现城市转场。
  【动画实现】
  1。地球是由CSS3绘制出来的一个大圆,把各个城市的图片定位在大圆上面,滚动大圆达到切换城市转场的效果。
  viewsourceprint?
  01大球的定位设置
  02。ball{
  03position:zindex:19;
  04left:50;top:81;marginleft:1113
  05width:2226height:2226borderradius:2226
  06}
  07
  08动画关键帧
  09webkitkeyframesball{
  100{opacity:0。8;webkittransform:rotate(0deg);}
  1150{opacity:0;webkittransform:rotate(45deg);}
  12100{webkittransform:rotate(90deg);opacity:1;}
  13}
  2。城市内的元素漂浮
  都是使用的以下这个动画,对元素位移的变化以及旋转。只是播放时间的长短不同这样可以简化代码的同时又能实现需要的效果。
  viewsourceprint?
  1webkitkeyframesswing{
  220,40,60,80,100{webkittransformorigin:}
  320{webkittransform:translate(3px,0)rotate(25deg);}
  440{webkittransform:translate(5px,2px)rotate(20deg);}
  560{webkittransform:translate(1px,11px)rotate(15deg);}
  680{webkittransform:translate(11px,1px)rotate(15deg);}
  7100{webkittransform:translate(0,0)rotate(0deg);}
  8}
  【遇到问题以及解决】
  1。按需加载
  【过程尝试】
  最初前端同学以为是使用主站那种img标签不进入屏幕的图片就不进行加载。
  沟通后,前端同学提出把图片加在HTML,由ID控制载入,如下图结构:
  但是很快认识到,图片最先已经在样式中加载了,JS无法控制。前端同学提出样式按需加载。
  需要重构把大样式分离成以下部分,由JS动态加载。
  但是JS只能用Link的形式把样式插入页面,不方便重构更新样式时间戳。
  【目前方案】
  经沟通,Wynn提出了更好的方法:
  把样式名写在节点的自定义属性,需要加载时使用JS给节点的class属性赋上自定义熟悉的值,此时,客户端才会请求相应的图片。
  这个方案的优点:
  保持样式完整,方便更改时间戳以及后期维护。
  请求缩减为一个,比之前分成7个样式相应需要发送7个请求节省了发送时间和等待时间(1ms4ms)(71)30ms,而实际上,拆分后的样式字节数请求会比整个样式大,节省的时间是30ms的。
  2。图片裁剪
  活动的图片太多,除了通过按需加载控制,还要在裁剪的时候控制输出大小。以求最优。例如:飞机正着切是95。4k,而按设计稿斜着切是114。4k,相差19K。但是对于不支持旋转的IE需要使用滤镜,这个相对又减慢速度了。
  那尝试对斜切的飞机进行无损压缩:
  除了通过无损压缩还可以在裁切的时候,多注意细节。例如,当背景图大于100K,我会把它拆分成几个图片再合成,此时根据元素高度进行裁切就可以省下字节数。
  3。图片文字
  每个城市的右侧文字视觉使用了手写体,所以都是使用的图片,这给维护带来麻烦。
  至此更换了两次,每次更换8个城市需要一天,因为其中还包括链接按钮图片定位。
  【过程尝试】
  方案1,为了更好的替换,尝试在说明文字使用微软雅黑字体,但是设计师认为没有达到活动的设计效果,只有放弃了。
  方案2,有童鞋提出了可以使用fontface,我试验了一下,它的优点是适合SEO,特别适合用于英文字体。但对于中文字体,动辄几M,目前还没有工具可以实现把需要使用的特殊字体抽离;而且在网页上引用字体需要获取引用版权。鉴于此,使用fontface的想法,在有限的时间内,只能放弃了。
  附上fontface的使用:
  获取要使用字体的三种文件格式,确保能在主流浏览器中都能正常显示该字体。
  。TTF或。OTF,适用于Firefox3。5、Safari、Opera
  。EOT,适用于InternetExplorer4。0
  。SVG,适用于Chrome、AndRoid、IPhone
  获取字体格式的网站有以下几个:
  1。http:onlinefontconverter。com
  OnlineFontConverter是一个可以帮你把字体在eototfpfbpfmsuitsvgttfpfabinpt3pst42cffafmttcwoff等格式中互相转换的网站。
  2。http:ttf2eot。sebastiankippe。com
  可以将ttf字体转换为eot字体,且最大支持10M的文件
  3。http:www。fontsquirrel。comfontfacegenerator
  兼容格式较多(eotsvgttfwoff),但目前只支持英文字母,不支持中文。
  方案3,保留拼合文件的文字PSD,后续有修改邀请视觉直接修改拼合PSD。
  【目前方案】
  最后使用了方案3,希望以后能有更好的方案。
  3。自适应
  活动的主要元素都使用了绝对定位,脱离了文本流,所以只能识别body内的高度,那如何做到自适应成了个问题。
  【过程尝试】
  地球的圆的直径是2226px,多余的部分是对body使用了overflow:
  但是这个设置会导致窗口缩小后无法出现滚动条,如果要出现滚动条就会把下方要隐藏的球暴露出来
  方案1,对每个城市里面的内容加个固定高度的容器,那就能把多余的地球部分隐去,但是这样做需要对每个城市里的元素都重新定位,因为每个城市高度不一样,还需要统一高度,不够便利,否决。
  方案2,使用一个木有元素但属于文档流中的div,包裹住地球。针对该活动把div的最小宽高分别设为755px,1250px。即使div内没有元素,但是当窗口小于这个值就会触发body产生滚动条。
  viewsourceprint?
  1。container{position:height:100;width:100;margin:0minheight:755x;minwidth:1250overflow:}
  但是,由于页面内的内容都不在正常文档流中,在chrome等标准浏览器就只能识别到容器的最小高度为755px,无法使城市的CSS3渐变背景随着高度自适应。尝试了padding:9999margin:9999px的方法也没有作用。尝试通过JS给body动态更新minheight的值,但是前端同学没有实现。
  【目前方案】
  最后使用了方案2实现自适应的问题,渐变的实现只有舍弃了,希望以后有更好的解决方法。
  4。fixed定位问题
  由于界面元素太多。当窗口变窄的话,元素会重叠在一起。
  主要原因是下面的圆使用了fixed,定位在页面最下方。
  解决办法就是当页面高度小于临界值的时候,把地球的定位改为绝对定位,使得上面元素不被遮住。这个在chrome等标准浏览器可以通过下面媒体查询的方法实现:
  viewsourceprint?
  1mediaonlyscreenand(maxheight:755px){
  2。container{position:height:100;width:100;margin:0minheight:755minwidth:1024overflow:}
  3。ball{top:550position:}
  4}
  5
  6mediaonlyscreenand(minheight:755px){
  7。container{position:height:100;width:100;margin:0overflow:}
  8}
  对于IE类浏览器只有通过JS判断可视区域的高度,对body节点增加。minheigh的样式,对该样式下的元素进行自定义。
投诉 评论 转载

能让UI设计显得更简约的小技巧谈简约设计的书籍有很多,互联网界也一直在有提倡简约设计的声音。有人说,看国内的各大门户的设计,通通都是文字和功能的粗暴堆砌,难道中国人真的不擅长设计简约吗。产品长什么样是……谈谈那个被说烂的词“需求”推荐理由:这几年随着产品经理泛滥,还有一个被说烂的词“需求”。本文是作者产品经理phoenixlzq对需求的一些反思,用户期望带来用户需求,进而产生产品需求最终推动产品迭代。一……分析搜狗网址导航产品建议前言接到作业,给搜狗网址导航搞出一个亮的!拍脑门的点子是不可靠的,凭空想出的点子也不可靠。就算想出很牛逼的一个点子,其他竞争对手也会一夜之间抄袭过去。因为没有搜狗网址导航……字体的排版设计作为设计师的我们,每天都在与字体打交道,我们常常希望能很好的使用他们,为设计加油添彩。我们常常纳闷,电脑里这么多的字体,要用哪一个?文字有这么多,怎样排版才能表达内心深处的思想……你的产品为什么只被打开过一次?推荐理由:作者MariyaYao是一名资深产品设计师。数据显示2012年app下载的总量是300亿,用户每周平均使用15个应用;Localytics的一份报告甚至指出有22的应……设计要一目了然本文基于CiaraByrne对设计公司Fjord联合创始人MarkCurtis的专访。MarkCurtis先讲了个故事。曾经,神Theuth拜访了埃及国王Thamus,神……专访张小龙:产品之上的世界观〔导读〕针对很多文章所讨论的“微信功能多了会不会变得越来越臃肿”问题,张小龙认为,一个东西是不是很臃肿并不取决于它有多少功能,而取决于它最终展现出来的,在体验上是不是用户觉得很……评论栏再也不是不起眼的角落了网站页面的布置往往有一个虎头蛇尾的现象:最好的广告位、设计下工夫最多的地方以及多数的内容、作者、署名文章等等都布置在顶部,越往下拉,页面就越荒凉。可是谁在下面的地方呢?读者和发……如何提醒用户更新应用?很多设计师在将产品的主体功能设计完成,万事俱备只欠东风后,往往会忽视设计产品的更新机制。其实移动互联网版本更新是一件很重要的事情,因为它不像web可以随时部署,用户需要点击“更……实现产品需求,而不是用户需求本文根据自己做产品的经验,提炼出4点思考分享给大家淘宝鬼脚七一淘搜索、淘宝搜索产品负责人(文德)产品经理是个很奇怪的岗位,好像大多数人都能做,因为每个人对某个产品都……分享APP为什么要有启动页当应用程序被用户打开时,在程序启动过程中被用户所看到的过渡页面(或动画)都被我们统称为启动页。在我们的实际产品使用或是设计过程中,总是会有那么23秒是留给我们的产品启动页的。那……腾讯TID:环球妙旅程活动分享从下半年开始,我尝试在活动页面中添加css3动画,让标准浏览器的用户能够看到更加炫的效果。一直小打小闹的试验着各种效果前不久,鬼哥跟我说有个活动要大量使用css3动画,各种动!……
常见移动端产品导航设计模式从用户体验视角,看C2C电商平台中的一些产品设计问题从业余项目中学习内容呈现最有效的布局方案,是列表视图还是网格视图?产品设计中,当网络断掉时APP如何应对?UX设计师能从90年代的日本电子游戏中学到什么当设计一个APPUI的时候我们想什么?5条被滥用的移动设计模式那些年H5页面上面踩过的坑干货丨常见的几种扫码支付方式详解询问用户权限许可的正确方法10分钟,设计完美闪屏(SplashScreen),并通过A
孕妇防辐射服只起保暖作用2019年中考话题作文范文你在我心中临沂市房屋拆迁补偿标准包括什么?古代男子宫刑(古代男子宫刑方法人人都知道,女子怎么做?)苹果6拆机换电池步骤图解清明节作文900字记清明扫墓地产买卖合同孩子们最需要父母的是什么?老鼠的态度关于运动会的优秀作文4篇曹操陵墓惊天大谜团巨大佛像从哪来?什么是厨房新风系统

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界