今天我们来分享一些创造性的页面过度效果,我们把各种页面过度动画效果放在一起,以便可以方便的查看这些有趣的和创造性的过度动画效果,当然有些是非常简单的,比如滑动,也有一些使用perspective和3D transform制作出有深度和动态感的效果。
说明:这只是为了展示一些有趣的动画效果和灵感。它并不是一个滑块或者类似滑块的东西。我们只是添加了一些class使其呈现出动态的过度效果,并不是为了导航。
浏览器支持: IE10
我们使用下面的结构来展示不同的“页面”.
- <div id="pt-main" class="pt-perspective">
- <div class="pt-page pt-page-1">
- <h1><span>A collection of</span><strong>Page</strong> Transitions</h1>
- </div>
- <div class="pt-page pt-page-2"><!-- ... --></div>
- <!-- ... -->
- </div>
我们为perspective容器使用相对定位,并且给perspective属性赋值为1200px. 下面的这些样式是所有过度动画效果所需要的。
- .pt-perspective {
- position: relative;
- width: 100%;
- height: 100%;
- perspective: 1200px;
- transform-style: preserve-3d;
- }
- .pt-page {
- width: 100%;
- height: 100%;
- position: absolute;
- top: 0;
- left: 0;
- visibility: hidden;
- overflow: hidden;
- backface-visibility: hidden;
- transform: translate3d(0, 0, 0);
- }
- .pt-page-current,
- .no-js .pt-page {
- visibility: visible;
- }
- .no-js body {
- overflow: auto;
- }
- .pt-page-ontop {
- z-index: 999;
- }
.pt-page-ontop类是为了用于一些特定的页面过度效果,我们会使一个页面在另外一个页面之上。
下面列出一个例子:向不同方向缩放页面,同时带有淡入或者淡出效果。
- /* scale and fade */
- .pt-page-scaleDown {
- animation: scaleDown .7s ease both;
- }
- .pt-page-scaleUp {
- animation: scaleUp .7s ease both;
- }
- .pt-page-scaleUpDown {
- animation: scaleUpDown .5s ease both;
- }
- .pt-page-scaleDownUp {
- animation: scaleDownUp .5s ease both;
- }
- .pt-page-scaleDownCenter {
- animation: scaleDownCenter .4s ease-in both;
- }
- .pt-page-scaleUpCenter {
- animation: scaleUpCenter .4s ease-out both;
- }
- /************ keyframes ************/
- /* scale and fade */
- @keyframes scaleDown {
- to { opacity: 0; transform: scale(.8); }
- }
- @keyframes scaleUp {
- from { opacity: 0; transform: scale(.8); }
- }
- @keyframes scaleUpDown {
- from { opacity: 0; transform: scale(1.2); }
- }
- @keyframes scaleDownUp {
- to { opacity: 0; transform: scale(1.2); }
- }
- @keyframes scaleDownCenter {
- to { opacity: 0; transform: scale(.7); }
- }
- @keyframes scaleUpCenter {
- from { opacity: 0; transform: scale(.7); }
- }
为了说明演示是如何工作的,请看下面的一些js片段,当然你也可以下载源码后找到全部的代码。
- //...
- case 17:
- outClass = 'pt-page-scaleDown';
- inClass = 'pt-page-moveFromRight pt-page-ontop';
- break;
- case 18:
- outClass = 'pt-page-scaleDown';
- inClass = 'pt-page-moveFromLeft pt-page-ontop';
- break;
- case 19:
- outClass = 'pt-page-scaleDown';
- inClass = 'pt-page-moveFromBottom pt-page-ontop';
- break;
- // ...
希望你喜欢这篇文章,从而为你带去灵感做出一些令人兴奋的效果。
不错哇
谢谢支持,天屹有时间会给大家带来更好的文章的。
太棒了
谢谢,文章是翻译过来的,最近太忙没有时间翻译国外的一些非常不错的文章了,以后有时间会翻译写更好的文章的。
能详细讲解下js是怎么调用的么 谢谢啊!!!
这个我没有仔细深研究他的代码, 英文版的原作者也没有对里面的js详细的介绍.你可以研究研究,咱们可以探讨一下