如何在 Material Design 中制作高逼格的加载动画

阅读时长 8 分钟读完

如何在 Material Design 中制作高逼格的加载动画

Material Design 是 Google 推出的一种设计语言,它提供了非常丰富的组件和动画效果,为 Web 开发人员提供了更多实现和展现自己设计想法的可能性。其中动画效果是 Google Material Design 中不可或缺的一个部分,而加载动画是其中最常见的一个效果。具有高逼格的加载动画可以使你的 Web 应用程序看起来更加专业和时尚。但是如何在 Material Design 中制作这样的加载动画呢?本文将为你提供一些思路和具体实现方法。

第一步:了解 Material Design 中的加载动画种类

在 Material Design 中,有几种不同的加载动画类型,如下所示:

  • CircularProgress:这是一款圆形浮动插件,通常用于加载新闻、数据或内容。
  • ProgressBar:这是一种直线型滑动插件,它通常用于显示进度条,比如文件下载或数据传输。
  • SliderToggle:这是一种类似于 ProgressBar,但它用于控制器,比如开/关按钮。

此外,还有其他一些特殊的加载动画,比如 Shimmer、Pulse、Tidal 等效果。你可以在 Material Design 官网上找到更多与预设的各种 Material Design 动画类型。

第二步:选用合适的加载动画效果

在选择合适的加载动画效果之前,要考虑应用程序的用途。如果你需要一种简单的加载效果,CircularProgress 可能是一个不错的选择。但如果你需要更具艺术性的效果,则可能需要更复杂的动画,比如 Pulse 或 Tidal。

第三步:实现加载动画效果

接下来,你需要选择合适的 Web 技术和工具来实现你的加载动画。根据以上提到的不同加载动画效果,下面的示例代码可以帮助你实现。

  1. CircularProgress 实现

在这个示例中,我们将使用 HTML、CSS 和 JavaScript 来实现 CircularProgress:

HTML:

CSS:

-- -------------------- ---- -------
------------------ -
  --------- ---------
  ------ -----
  ------- -----
  ------- ---- -----
-
----- -
  --------- ---------
  ---- --
  ----- --
  ------ -----
  ------- -----
  -------------- ----
  ------- --- ----- ------- -- -- -----
  -------- --
  ---------- ----- -- ----------- ---------
-
---- -
  --------- ---------
  ---- ------
  ------ ------
  ------ -----
  ------- -----
  -------------- ----
  ----------------- --------
  -------- --
  ---------- ---------
  ---------- --- -- ----------- ---------
-
---------- ----- -
  -- -
    ---------- ---------
    -------- ----
  -
  --- -
    -------- --
  -
  --- -
    -------- --
    ---------- ---------
  -
  ---- -
    -------- ----
    ---------- ---------
  -
-
---------- --- -
  -- -
    -------- --
    ---------- ---------
  -
  --- -
    -------- --
    ---------- -----------
  -
  --- -
    -------- --
    ---------- ---------
  -
  ---- -
    -------- --
    ---------- ---------
  -
-
展开代码

JavaScript:

  1. ProgressBar 实现

在这个示例中,我们将使用 HTML、CSS 和 JavaScript 来实现 ProgressBar:

HTML:

CSS:

-- -------------------- ---- -------
------------- -
  --------- ---------
  ------ ----
  ------- ----
  ----------------- -----
  ------- ---- -----
-
---- -
  --------- ---------
  ---- --
  ----- --
  ------- -----
  ----------------- --------
  ------ ---
  -------------------- ---
-
----------- -
  --------- ---------
  ---- ------
  ------ --
  ------ --------
  ---------- -----
  ------------ -----
-
展开代码

JavaScript:

-- -------------------- ---- -------
--------------------- -
  --- ---------- - --------------------------------------
  --- --- - -------------------------------
  --- ----- - --
  --- -- - ------------------ ----
  -------- ------- -
    -- ------ -- ---- -
      ------------------
    - ---- -
      --------
      --------------- - ----- - ----
      -------------------- - ----- - ----
    -
  -
-- ------
展开代码
  1. SliderToggle 实现

在这个示例中,我们将使用 HTML、CSS 和 JavaScript 来实现 SliderToggle:

HTML:

CSS:

-- -------------------- ---- -------
-------------- -
  --------- ---------
  -------- -------------
  ------ -----
  ------- -----
  ------- ---- -----
-
-------------- ----- -
  -------- --
  ------ --
  ------- --
-
-------------- ----- -
  -------- ------
  -------------- -----
  ------- --- ----- --------
  --------- ---------
  ---- --
  ----- --
  ------ -----
  ------- -----
  ------- --------
  ----------- ---------------- ----- ------------
  ----------------- --------
-
-------------- ------------- - ----- -
  ----------------- --------
-
-------------- ----------- -
  -------- ---
  -------------- ----
  --------- ---------
  ---- -----
  ----- -----
  ------ -----
  ------- -----
  ----------------- -----
  ------- --- ----- --------
  ----------- --------- ----- ------------
  ---------- --------------
-
-------------- ------------- - ----------- -
  ---------- -----------------
-
展开代码

JavaScript:

以上就是 Material Design 加载动画的一些实现思路,希望本篇文章可以对你有所帮助。如果你想要实现更复杂的加载动画效果,可以在 Google Material Design 官网找到更多有用的信息和设计资源。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67c0f82a314edc268482b249

纠错
反馈

纠错反馈