如何在 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 技术和工具来实现你的加载动画。根据以上提到的不同加载动画效果,下面的示例代码可以帮助你实现。
- CircularProgress 实现
在这个示例中,我们将使用 HTML、CSS 和 JavaScript 来实现 CircularProgress:
HTML:
<div class="circular-progress"> <div class="ring"></div> <div class="dot"></div> </div>
CSS:
-- -------------------- ---- ------- ------------------ - --------- --------- ------ ----- ------- ----- ------- ---- ----- - ----- - --------- --------- ---- -- ----- -- ------ ----- ------- ----- -------------- ---- ------- --- ----- ------- -- -- ----- -------- -- ---------- ----- -- ----------- --------- - ---- - --------- --------- ---- ------ ------ ------ ------ ----- ------- ----- -------------- ---- ----------------- -------- -------- -- ---------- --------- ---------- --- -- ----------- --------- - ---------- ----- - -- - ---------- --------- -------- ---- - --- - -------- -- - --- - -------- -- ---------- --------- - ---- - -------- ---- ---------- --------- - - ---------- --- - -- - -------- -- ---------- --------- - --- - -------- -- ---------- ----------- - --- - -------- -- ---------- --------- - ---- - -------- -- ---------- --------- - -展开代码
JavaScript:
setTimeout(function() { var circularProgress = document.querySelector('.circular-progress'); var ring = circularProgress.querySelector('.ring'); var dot = circularProgress.querySelector('.dot'); ring.style.opacity = "1"; dot.style.opacity = "1"; }, 1000);
- ProgressBar 实现
在这个示例中,我们将使用 HTML、CSS 和 JavaScript 来实现 ProgressBar:
HTML:
<div class="progress-bar"> <div class="bar" id="bar"></div> <div class="percentage"></div> </div>
CSS:
-- -------------------- ---- ------- ------------- - --------- --------- ------ ---- ------- ---- ----------------- ----- ------- ---- ----- - ---- - --------- --------- ---- -- ----- -- ------- ----- ----------------- -------- ------ --- -------------------- --- - ----------- - --------- --------- ---- ------ ------ -- ------ -------- ---------- ----- ------------ ----- -展开代码
JavaScript:
-- -------------------- ---- ------- --------------------- - --- ---------- - -------------------------------------- --- --- - ------------------------------- --- ----- - -- --- -- - ------------------ ---- -------- ------- - -- ------ -- ---- - ------------------ - ---- - -------- --------------- - ----- - ---- -------------------- - ----- - ---- - - -- ------展开代码
- SliderToggle 实现
在这个示例中,我们将使用 HTML、CSS 和 JavaScript 来实现 SliderToggle:
HTML:
<div class="slider-toggle"> <input type="checkbox" id="toggle"> <label for="toggle"></label> </div>
CSS:
-- -------------------- ---- ------- -------------- - --------- --------- -------- ------------- ------ ----- ------- ----- ------- ---- ----- - -------------- ----- - -------- -- ------ -- ------- -- - -------------- ----- - -------- ------ -------------- ----- ------- --- ----- -------- --------- --------- ---- -- ----- -- ------ ----- ------- ----- ------- -------- ----------- ---------------- ----- ------------ ----------------- -------- - -------------- ------------- - ----- - ----------------- -------- - -------------- ----------- - -------- --- -------------- ---- --------- --------- ---- ----- ----- ----- ------ ----- ------- ----- ----------------- ----- ------- --- ----- -------- ----------- --------- ----- ------------ ---------- -------------- - -------------- ------------- - ----------- - ---------- ----------------- -展开代码
JavaScript:
document.querySelector('.slider-toggle').addEventListener('click', function() { this.classList.toggle("active"); });
以上就是 Material Design 加载动画的一些实现思路,希望本篇文章可以对你有所帮助。如果你想要实现更复杂的加载动画效果,可以在 Google Material Design 官网找到更多有用的信息和设计资源。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67c0f82a314edc268482b249