如何使用CSS制作一个比较炫酷的页面切换动画

秋天是秋高气爽、秋风瑟瑟的季节。农民伯伯在辛勤地收谷,秋天的大树落下了好多树叶像翩翩起舞的蝴蝶。夕阳的金辉把绿色的林海染成金黄一片。

今天我们想与大家分享一组创意的页面切换熊效果集合。我们已经在示例中罗列了一组动画,可以被应用到页面切换过程中,创造出很有趣的导航效果。虽然有些效果都非常简单,只是简单的滑动动作,但另外的一些则是利用了视角(Perspective)和 3D 转换(3D Transforms)来创造一些立体动感的效果。

在线演示

温馨提示:为保证最佳的效果,请在 IE10+、Chrome、Firefox 和 Safari 等现代浏览器中浏览。

  CSS 动画根据它们的实现的效果分为不同的组。为展示页面过渡效果,我们使用以下结构:

CSS Code复制内容到剪贴板
  1. <divid="pt-main"class="pt-perspective">
  2. <divclass="pt-pagept-page-1">
  3. <h1><span>Acollectionof</span><strong>Page</strong>Transitions</h1>
  4. </div>
  5. <divclass="pt-pagept-page-2"><!--...--></div>
  6. <!--...-->
  7. </div>

  透视容器的位置是相对的,我们增加1200像素透视它。所有动画效果都需要以下的样式:

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

  上面的 .pt-page-ontop 样式用于某些页面过渡效果,即我们需要让一个页面留在另一个页面的顶部。下面是一个代码例子,展示了动画类和关键帧动画,在不同方向上缩放网页和以及淡入淡出效果:

CSS Code复制内容到剪贴板
  1. /*scaleandfade*/
  2. .pt-page-scaleDown{
  3. animation:scaleDown.7seaseboth;
  4. }
  5. .pt-page-scaleUp{
  6. animation:scaleUp.7seaseboth;
  7. }
  8. .pt-page-scaleUpDown{
  9. animation:scaleUpDown.5seaseboth;
  10. }
  11. .pt-page-scaleDownUp{
  12. animation:scaleDownUp.5seaseboth;
  13. }
  14. .pt-page-scaleDownCenter{
  15. animation:scaleDownCenter.4sease-inboth;
  16. }
  17. .pt-page-scaleUpCenter{
  18. animation:scaleUpCenter.4sease-outboth;
  19. }
  20. /************keyframes************/
  21. /*scaleandfade*/
  22. @keyframesscaleDown{
  23. to{opacity:0;transform:scale(.8);}
  24. }
  25. @keyframesscaleUp{
  26. from{opacity:0;transform:scale(.8);}
  27. }
  28. @keyframesscaleUpDown{
  29. from{opacity:0;transform:scale(1.2);}
  30. }
  31. @keyframesscaleDownUp{
  32. to{opacity:0;transform:scale(1.2);}
  33. }
  34. @keyframesscaleDownCenter{
  35. to{opacity:0;transform:scale(.7);}
  36. }
  37. @keyframesscaleUpCenter{
  38. from{opacity:0;transform:scale(.7);}
  39. }

  对于本演示的目的,我们采用了相应的动画类应用到当前页以及即将切换进来的页面,例如:

CSS Code复制内容到剪贴板
  1. //...
  2. case17:
  3. outClass='pt-page-scaleDown';
  4. inClass='pt-page-moveFromRightpt-page-ontop';
  5. break;
  6. case18:
  7. outClass='pt-page-scaleDown';
  8. inClass='pt-page-moveFromLeftpt-page-ontop';
  9. break;
  10. case19:
  11. outClass='pt-page-scaleDown';
  12. inClass='pt-page-moveFromBottompt-page-ontop';
  13. break;
  14. //...

  查看演示,您可以通过点击第一个按钮来浏览一整套的页面切换效果,您也可以选择从下拉菜单中选择一个特定的效果进行预览。

  我希望你会喜欢这个并从中得到启发,创作出一些更加令人兴奋的东西!

本文如何使用CSS制作一个比较炫酷的页面切换动画到此结束。最大的失败是放弃,最大的敌人是自己,最大的对手是时间。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
css让页脚保持在底部位置的四种方案

CSS如何使用Flex和Grid布局如何实现3D骰子

Flex布局史上最简单使用语法教程

新的CSS 伪类函数 :is() 和 :where()示例详解

纯CSS打字动画的如何实现示例