(转)页面过度动画效果大集合

今天我们来分享一些创造性的页面过度效果,我们把各种页面过度动画效果放在一起,以便可以方便的查看这些有趣的和创造性的过度动画效果,当然有些是非常简单的,比如滑动,也有一些使用perspective和3D transform制作出有深度和动态感的效果。

页面过度

查看演示  下载源码

说明:这只是为了展示一些有趣的动画效果和灵感。它并不是一个滑块或者类似滑块的东西。我们只是添加了一些class使其呈现出动态的过度效果,并不是为了导航。

浏览器支持:browser_compatability  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. 下面的这些样式是所有过度动画效果所需要的。

复制代码
复制代码
 1 .pt-perspective {
 2     position: relative;
 3     width: 100%;
 4     height: 100%;
 5     perspective: 1200px;
 6     transform-style: preserve-3d;
 7 }
 8  
 9 .pt-page {
10     width: 100%;
11     height: 100%;
12     position: absolute;
13     top: 0;
14     left: 0;
15     visibility: hidden;
16     overflow: hidden;
17     backface-visibility: hidden;
18     transform: translate3d(0, 0, 0);
19 }
20  
21 .pt-page-current,
22 .no-js .pt-page {
23     visibility: visible;
24 }
25  
26 .no-js body {
27     overflow: auto;
28 }
29  
30 .pt-page-ontop {
31     z-index: 999;
32 }
复制代码
复制代码
 

.pt-page-ontop类是为了用于一些特定的页面过度效果,我们会使一个页面在另外一个页面之上。

下面列出一个例子:向不同方向缩放页面,同时带有淡入或者淡出效果。

复制代码
复制代码
 1 /* scale and fade */
 2  
 3 .pt-page-scaleDown {
 4     animation: scaleDown .7s ease both;
 5 }
 6  
 7 .pt-page-scaleUp {
 8     animation: scaleUp .7s ease both;
 9 }
10  
11 .pt-page-scaleUpDown {
12     animation: scaleUpDown .5s ease both;
13 }
14  
15 .pt-page-scaleDownUp {
16     animation: scaleDownUp .5s ease both;
17 }
18  
19 .pt-page-scaleDownCenter {
20     animation: scaleDownCenter .4s ease-in both;
21 }
22  
23 .pt-page-scaleUpCenter {
24     animation: scaleUpCenter .4s ease-out both;
25 }
26  
27 /************ keyframes ************/
28  
29 /* scale and fade */
30  
31 @keyframes scaleDown {
32     to { opacity: 0; transform: scale(.8); }
33 }
34  
35 @keyframes scaleUp {
36     from { opacity: 0; transform: scale(.8); }
37 }
38  
39 @keyframes scaleUpDown {
40     from { opacity: 0; transform: scale(1.2); }
41 }
42  
43 @keyframes scaleDownUp {
44     to { opacity: 0; transform: scale(1.2); }
45 }
46  
47 @keyframes scaleDownCenter {
48     to { opacity: 0; transform: scale(.7); }
49 }
50  
51 @keyframes scaleUpCenter {
52     from { opacity: 0; transform: scale(.7); }
53 }
复制代码
复制代码
 

为了说明演示是如何工作的,请看下面的一些js片段,当然你也可以下载源码后找到全部的代码。

复制代码
复制代码
 1 //...
 2  
 3 case 17:
 4     outClass = 'pt-page-scaleDown';
 5     inClass = 'pt-page-moveFromRight pt-page-ontop';
 6     break;
 7 case 18:
 8     outClass = 'pt-page-scaleDown';
 9     inClass = 'pt-page-moveFromLeft pt-page-ontop';
10     break;
11 case 19:
12     outClass = 'pt-page-scaleDown';
13     inClass = 'pt-page-moveFromBottom pt-page-ontop';
14     break;
15  
16 // ...
复制代码
复制代码

希望你喜欢这篇文章,从而为你带去灵感做出一些令人兴奋的效果。

英文原文连接:A COLLECTION OF PAGE TRANSITIONS

posted @   五加乘  阅读(551)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示