如何使用 CSS 创建波浪加载动画?


在这篇文章中,我们将使用 CSS 创建一个波浪加载动画。波浪加载动画是一种带有波浪效果的加载动画。它是在线应用程序中指示进度的一种标准方式,可以通过指示正在加载内容来增强用户体验。制作 CSS 波浪加载动画是一种基本技术,它使用 CSS 动画和关键帧。通过设置动画属性和关键帧,您可以设计一个动态且美观的波浪加载动画,可以根据您的具体需求进行调整。

方法

有多种使用 CSS 创建波浪加载动画的技术。以下三种方法比较流行:

  • 使用 Div 元素

  • 使用 SVG 路径

现在让我们详细了解每种方法并举例说明。

方法 1:使用 `Div 元素`

创建波浪加载动画的第一种方法是使用 `Div 元素`。这涉及创建一系列 div 元素,并使用 transform 和 translate 属性对其进行动画处理,以产生波浪效果。

在这里,我们将通过一个示例来实现这种方法:

<!DOCTYPE html>
<html>
<head>
   <title>Wave Loader using CSS and Div Elements</title>
   <style>
      .wave-loader {
         display: flex;
         justify-content: center;
         align-items: center;
         height: 100vh;
      }
      .wave-loader div {
         width: 20px;
         height: 60px;
         background-color: #0077ff;
         margin: 0 5px;
         border-radius: 50% 50% 0 0;
         transform-origin: bottom;
         animation: wave 1s ease-in-out infinite;
      }
      .wave-loader div:nth-child(2) {
         animation-delay: -0.4s;
      }
      .wave-loader div:nth-child(3) {
         animation-delay: -0.2s;
      }
      @keyframes wave {
         0% {
            transform: scaleY(0.4);
         }
         50% {
            transform: scaleY(1);
         }
         100% {
            transform: scaleY(0.4);
         }
      }
   </style>
</head>
<body>
   <div class="wave-loader">
      <div></div>
      <div></div>
      <div></div>
   </div>
</body>
</html> 

方法 2:使用 `SVG 路径`

创建波浪加载动画的第二种方法是使用 `SVG 路径`。这涉及创建一系列 SVG 路径,并使用 stroke-dasharray 和 stroke-dashoffset 属性对其进行动画处理,以获得波浪效果。

示例

在这里,我们将通过一个示例来实现这种方法:

<!DOCTYPE html>
<html>
<head>
   <title>Wave Loader using CSS and SVG Paths</title> 
   <style>
      .wave-loader {
         display: flex;
         justify-content: center;
         align-items: center;
         height: 100vh;
      }
      .wave-loader svg {
         width: 100px;
         height: 60px;
      }
      .wave-loader path {
         stroke: #0077ff;
         stroke-width: 3;
         stroke-dasharray: 120;
         stroke-dashoffset: 0;
         animation: wave 1s ease-in-out infinite;
      }
      .wave-loader path:nth-child(2) {
         animation-delay: -0.4s;
      }
      .wave-loader path:nth-child(3) {
         animation-delay: -0.2s;
      }
      @keyframes wave {
         0% {
            stroke-dashoffset: 0;
         }
         50% {
            stroke-dashoffset: 60;
         }
         100% {
            stroke-dashoffset: 120;
         }
      }
   </style>
</head>
<body>
   <div class="wave-loader">
      <svg viewBox="0 0 100 60">
         <path d="M0 30 Q 20 10 40 30 T 80 30" />
         <path d="M0 30 Q 20 50 40 30 T 80 30" />
         <path d="M0 30 Q 20 70 40 30 T 80 30" /> 
      </svg>
   </div>
</body>
</html> 

结论

有多种方法可以使用 CSS 创建波浪加载动画,包括 div 元素、SVG 路径和渐变。每种方法都有其优缺点,具体取决于您的特定设计目标和需求。

div 元素方法易于应用和调整,并且可以用来创建各种波浪效果。SVG 路径方法更复杂,但它可以更精确地控制动画,并且适合创建更复杂的波形。渐变方法是最简单的三种方法之一,但它仍然可以有效,并且如果您需要一个快速而简单的解决方案,它是一个不错的选择。

更新于: 2023年3月24日

636 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.