一个全屏的加载动画效果实现

所属分类: 网页制作 / CSS 阅读数: 1237
收藏 0 赞 0 分享

如果您曾经访问过 Nicolas ZezukaActive Theory 的出色的设计网站,你可能已经注意到在显示新内容之前动感的页面加载动画了。这种风格的动画效果最近非常流行,因此这篇文章想给你带来一些启示。

  这个效果的核心是让一个形状在页面窗口中动画显示并有展示活动的指示。当新内容被加载时,形状将以动画显示返回显示的页面。我们将使用 Snap.svg 动画库来实现,因为这个库让我们能够创建复杂的形状和有趣的变形转换效果。

在线演示

需要注意的是,这里的示例只是提供一种思路,动态内容加载是模拟的。另外没有做降级处理,动画和伪元素可能在某些浏览器无法正常工作。

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

  我们显示遮罩的方式是,定义一个 SVG 路径动画:

  我们定义的初始路径在页面中是看不到的,开始和结果路径分别定义在 data-opening 和 data-closing 属性中。正如你所看到的,我们使用的是小型的 viewBox,但我们舒展绘图窗口的宽度和高度为100%,而不是保持长宽比。如果我们没有定义一个闭合的路径,我们将动画回到初始路径。

  请注意,我们也可以添加多个路径(用分号隔开),它允许 SVG 绘制你将在第一演示中看到的步骤明智的动画。 我们设置叠加划分到一个固定的位置,覆盖了整个页面,并通过给 ::before 和 ::after 伪元素添加样式来实现加载提示效果。

JavaScript Code复制内容到剪贴板
  1. .pageload-overlay {   
  2.     position: fixed;   
  3.     width: 100%;   
  4.     height: 100%;   
  5.     top: 0;   
  6.     left: 0;   
  7.     visibility: hidden;   
  8. }   
  9.     
  10. .pageload-overlay.show {   
  11.     visibility: visible;   
  12. }   
  13.     
  14. .pageload-overlay svg {   
  15.     position: absolute;   
  16.     top: 0;   
  17.     left: 0;   
  18. }   
  19.     
  20. .pageload-overlay svg path {   
  21.     fill: #fff;   
  22. }  

  我们在这里使用 visibility,因为使用这些固定的风格定位与指针以及 SVG 的事件可能在移动端有些问题,所以我们通过定位和操纵父 DIV 来代替。 你可能已经注意到,圆形动画也从一个路径到另一个路径变换来实现(当然有其他的实现方式,例如缩放) ,但我们使用以下值来确定圆是响应式( Rseponsive)的:

XML/HTML Code复制内容到剪贴板
  1. width="100%" height="100%" viewBox="0 0 80 60" preserveAspectRatio="xMidYMid slice"  

  使用 slice 将保持纵横比,但这样整个页面显示区域都可以被 viewBox 覆盖。我们的示例创建13种效果,但正如你所看到的,可能性是无止境的。我们真的很希望你能获得启发。

 

更多精彩内容其他人还在看

CSS3实现背景透明文字不透明的示例代码

这篇文章主要介绍了CSS3实现背景透明文字不透明的示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈CSS中的尺寸单位

这篇文章主要介绍了浅谈CSS中的尺寸单位的相关资料,浏览器的兼容性越来越好,移动端基本是清一色的webkit,经常会用到css的不同尺寸/长度单位,这里做个整理。感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

CSS中有些属性的前面会加上“*”或“_”所代表的意思

这篇文章主要介绍了CSS中有些属性的前面会加上“*”或“_”所代表的意思,需要的朋友可以参考下
收藏 0 赞 0 分享

CSS 设置滚动条样式的实例代码

这篇文章主要介绍了CSS 设置滚动条样式的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

纯CSS制作各种各样的网页图标(三角形、暂停按钮、下载箭头、加号等)

这篇文章主要介绍了纯CSS制作各种各样的网页图标(三角形、暂停按钮、下载箭头、加号等)的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

纯css实现多级折叠菜单折叠树效果

这篇文章主要介绍了纯css实现多级折叠菜单折叠树效果,运用checkbox的checked值来判断下级栏目是否展开,通过css3选择器提供的checked伪类来实现此效果,感兴趣的朋友参考下吧
收藏 0 赞 0 分享

CSS Grid 网格布局全解析

这篇文章主要介绍了CSS Grid 网格布局全解析的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

css flex 弹性布局详解

这篇文章主要介绍了css flex 弹性布局详解的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

CSS3 二级导航菜单的制作的示例

这篇文章主要介绍了CSS3 二级导航的制作的示例的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

使用css禁用input、checkbox、select等html控件实现disable效果

这篇文章主要介绍了使用css禁用input、checkbox、select等html控件实现disable效果,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多