自定义 Angular 4 首屏加载动画

默许情况下,Angular运用程序在初次加载根组件时,会在浏览器的显现一个loading... 我们能够轻松地将loading修改成我们本身定义的动画。

这是我们要完成初次加载的结果:

《自定义 Angular 4 首屏加载动画》

根组件标签中的内容

请注意,在你的进口文件index.html中,默许的loading...只是插进去到根组件标签之间:

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>Fancy Loading Screen</title>
  <base href="/">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>

  <app-root>Loading...</app-root>

</body>
</html>

假如您在加载完根组件搜检运用程序,则没法找到loading... 的笔墨,由于它在运用加载完成后被我们本身定义的组件替换掉。

这意味着我们能够在这些标签之间安排任何内容,包含款式定义,一旦Angular加载完根组件,就能够完整消灭它们。

<app-root>
  <style>
    app-root {
      color: purple;
    }
  </style>
  I'm a purple loading message!
</app-root>

我们没必要忧郁这些款式会影响我们的运用程序加载后的内容,由于统统都被完整替换掉。

如今你能够在那里随便的做任何事情。运用css或许svg完成自定义加载动画。

在我们的示例中,我们给页面一个粉红色的背景,我们运用Flexbox 将loading设置居中,给它设置一个更美丽的字体,我们甚至在省略号上增加一个自定义动画:

<app-root>
  <style>
  app-root {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;

    color: pink;
    text-transform: uppercase;
    font-family: -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Oxygen-Sans,
        Ubuntu,
        Cantarell,
        Helvetica,
        sans-serif;
    font-size: 2.5em;
    text-shadow: 2px 2px 10px rgba(0,0,0,0.2);
  }
  body {
    background: salmon;
    margin: 0;
    padding: 0;
  }

  @keyframes dots {
    50% {
      transform: translateY(-.4rem);
    }
    100% {
      transform: translateY(0);
    }
  }

  .d {
    animation: dots 1.5s ease-out infinite;
  }
  .d-2 {
    animation-delay: .5s;
  }
  .d-3 {
    animation-delay: 1s;
  }
  </style>

  Loading<span class="d">.</span><span class="d d-2">.</span><span class="d d-3">.</span>
</app-root>

如许我们就完成了上图的加载结果了,点击这里检察原文

分享几个loading结果的在线素材网:

好了,去建立属于你本身的loading吧!

    原文作者:心情这朵瓢虫
    原文地址: https://segmentfault.com/a/1190000009929751
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞