h5 动画页面
有个细节,安卓2.3.*不能良好支持-webkit-animation-fill-mode,也就是渐变动画不能停止在最后一帧。有这样一个解决方案:
1.用Modernizr去检测是否支持这个属性,加上识别类.no-animation-fill-mode;
2.根据识别类采取以下措施:
(1)用js模拟同样效果;
(2)用css屏蔽掉动画;
(3)或者直接全部都用transition来做(不要keyframes)。
Android手机的屏幕碎片化非常严重,各种各样的分辨率非常之多,那么如何让游戏可以适配这些机型就显得尤为重要。这里也是前前后实验了多种方案。先想到用JS来动态的根据分辨率来设置相关元素的大小,但要么在某些机型中获取失败,要么用赋值缩放相关元素时造成游戏崩溃……用 absolute 来解决:
关键代码:
1 |
.game { |
以上代码使游戏容器绝对定位之后,上下左右四边都与手机屏幕贴紧,从而做到了适配各种屏幕。
然后使用 background-size:cover; 让背景覆盖全屏,此代码可以使背景 自动缩放 至 覆盖 容器大小。
为了适应各种屏幕,应该使用动态居中的布局,而不是传统页面的左上角为基准:
.welcome { position: absolute; top: 50%; left: 50%; margin: -100px 0 0 -111px; background-image: url("img/wel.png"); width: 222px; height: 200px; }
希望每次浏览这一屏内容的时候,动画都走一遍,可以使用reflow重新触发一下animation
:
container.classList.remove("active"); container.offsetWidth = container.offsetWidth; container.classList.add("active");
animation-timing-function:steps(4, start);
第一个参数必须为正整数,指定函数的步数。第二个参数取值可以是start或end,指定每一步的值发生变化的时间点。第二个参数是可选的,默认值为end。
每一帧变化会自动计算取平均值。
原理还是在不断的移动背景图片,但每种背景会保留一段时间,通过他我们可以方便的制作帧动画
最新文章
- centos查找未挂载磁盘格式化并挂载
- 两个viewport的故事(第一部分)
- 关于SVN版本分支合并的知识
- 【同行说技术】iOS程序员从小白到大神必读资料汇总
- Cloud Test 单页面即时监测功能上线!
- Sencha Touch 的基础知识
- 等待事件--db file sequential read
- 各国iPhone5系列最新裸机价格
- 毕业后的第二份工作:进入国外 在新加坡工作 每月一次18K
- 敏捷开发冲刺--day3
- 【Netty源码解析】NioEventLoop
- 什么是 Message Queue
- SimpleDateFormat 出现错误 Call requires API level 24 (current min is 15)
- 剑指offer题目解答合集(C++版)
- boost 线程安全队列
- 用canvas画三角形的方法
- [原]windows sdk版本不对
- Eclipse编辑jsp不显示预览效果页面
- Codeforces Round #106 (Div. 2) D. Coloring Brackets 区间dp
- Luogu1309 瑞士轮(分治,归并排序)