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

选对事业可以成就一生,选对朋友可以智能一生,选对环境可以快乐一生,选对伴侣可以幸福一生,选对生活方式可以健康一生。

如果您曾经访问过 Nicolas Zezuka 和 Active 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. .pageload-overlay.show{
  10. visibility:visible;
  11. }
  12. .pageload-overlaysvg{
  13. position:absolute;
  14. top:0;
  15. left:0;
  16. }
  17. .pageload-overlaysvgpath{
  18. fill:#fff;
  19. }

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

XML/HTML Code复制内容到剪贴板
  1. width="100%"height="100%"viewBox="008060"preserveAspectRatio="xMidYMidslice"

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

到此这篇关于一个全屏的加载动画效果如何实现就介绍到这了。征服世界,并不伟大,一个人能征服自己,才是世界上最伟大的人。更多相关一个全屏的加载动画效果如何实现内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
CSS如何实现背景图片全屏铺满自适应的3种方式

CSS如何实现fullpage.javascript全屏滚动效果的示例代码

css全屏背景图片设置,django加载图片路径详解

浏览器全屏显示背景图片的css样式与html结构

背景图片自适应浏览器分辨率大小并自动拉伸全屏代码