如何使用 CSS 设计渐变球加载动画?


渐变球加载动画是一种流行且吸引人的视觉效果,用于吸引网站用户。它是一个简单的动画,通过球体淡入淡出创建醒目的加载效果。

什么是 CSS 中的渐变球加载动画?

渐变球加载动画是一种加载动画,其中一系列圆圈或球体循环淡入淡出。它表示网页上正在加载内容。这种类型的动画通常用于网页设计,以便在用户等待内容加载时保持用户的参与度和知情权。

动画主要使用 CSS 关键帧动画和伪元素来创建圆圈或球体。球体被设置为在不同的时间间隔内淡入淡出,以创建视觉上有趣的动画效果。

在 CSS 中设计渐变球加载动画的步骤

在 CSS 中设计渐变球加载动画是一个简单的过程;它包括创建 HTML 结构,然后使用 CSS 关键帧动画和伪元素来创建动画效果。在这里,我们将学习以下在 CSS 中设计渐变球加载动画的步骤。

步骤 1:创建 HTML 标记

要设计渐变球加载动画,首先,我们需要创建一个 HTML 结构。这可以通过使用一个简单的 div 容器来完成,该容器具有一个类名,用于在 CSS 中为动画设置样式。例如 -

<div class="my-loader"></div>

步骤 2:定义 CSS 样式

在此步骤中,我们将为渐变球加载动画定义 CSS 样式。这可以通过使用关键帧来定义动画,然后使用 animation 属性将动画应用于 div 容器来完成。例如 -

.my-loader {
   position: relative;
   width: 40px;
   height: 40px;
   margin: 0 auto;
}
@keyframes fade {
   0% {
      opacity: 0;
      transform: scale(0.3);
   }
   50% {
      opacity: 1;
   }
   100% {
      opacity: 0;
      transform: scale(1.5);
   }
}

步骤 3:添加球体

要创建渐变球加载动画,我们需要添加球体。这可以通过使用伪元素来完成。我们将使用 before 和 after 伪元素创建球体,并应用所需的样式以创建淡入和淡出效果。例如 -

.fade-balls-loader:before,
.fade-balls-loader:after {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   margin: auto;
   width: 40px;
   height: 40px;
   border-radius: 50%;
   background-color: red;
}

步骤 4:微调动画

添加球体后,我们通过调整时间、持续时间和缓动来微调动画。这可以通过调整 animation-timing-function、animation-duration 和 animation-delay 属性来完成。例如 -

.fade-balls-loader:before,
.fade-balls-loader:after{
   animation: fade 1.5s ease-in-out infinite;
}
.fade-balls-loader:before {
   animation-delay: 0.6s;
}

示例 1

带有单个球体的渐变球加载动画。

<!DOCTYPE html>
<html>
<head>
   <style>
      body{
         text-align:center;
      }
      .my-loader {
         position: relative;
         margin:auto;
         width: 40px;
         height: 40px;
      }
      .my-loader:before,
      .my-loader:after {
         content: "";
         position: absolute;
         top: 0;
         left: 0;
         width: 40px;
         height: 40px;
         border-radius: 50%;
         background-color: red;
         animation: fade 1.5s ease-in-out infinite;
      }
      .my-loader:before {
         animation-delay: 0.6s;
      }
      @keyframes fade {
         0% {
            opacity: 0;
            transform: scale(0.3);
         }
         50% {
            opacity: 1;
         }
         100% {
            opacity: 0;
            transform: scale(1.5);
         }
      }
   </style>
</head>
   <body>
      <h3>Fade Ball Loader Animation with Single Ball</h3>
      <div class="my-loader"></div>
   </body>
</html>

在上面的示例中,我们创建了一个简单的 HTML 标记,其中包含一个具有 my-loader 类的单个 div 元素。然后,我们为容器元素以及 :before 和 :after 伪元素定义了 CSS 样式。之后,我们使用 animation 属性将淡入动画应用于球体,并使用 animation-delay 属性设置第一个球体的延迟。最后,我们使用 @keyframes 规则定义了淡入动画。

示例 2

带有三个球体的渐变球加载动画。

<!DOCTYPE html>
<html>
<head>
   <style>
      body{
         text-align:center;
      }
      .my-loader {
         display: flex;
         justify-content: center;
         align-items: center;
         height: 100px;
      }
      .ball {
         width: 36px;
         height: 36px;
         margin: 0 4px;
         border-radius: 50%;
         opacity: 0;
         animation: fade 1.5s ease-in-out infinite;
      }
      .ball-1 {
         background-color: #00bfff;
         animation-delay: 0.3s;
      }
      .ball-2 {
         background-color: #ff7f50;
         animation-delay: 0.6s;
      }
      .ball-3 {
         background-color: #7fff00;
         animation-delay: 0.9s;
      }
      @keyframes fade {
         0% {
            opacity: 0;
            transform: scale(0.1);
         }
         50% {
            opacity: 1;
         }
         100% {
            opacity: 0;
            transform: scale(1.2);
         }
      }
   </style>
</head>
   <body>
      <h3>Fade Ball Loader Animation with Three Balls</h3>
      <div class="my-loader">
         <div class="ball ball-1"></div>
         <div class="ball ball-2"></div>
         <div class="ball ball-3"></div>
      </div>
   </body>
</html>

在上面的示例中,我们创建了一个简单的 HTML 标记,其中包括四个 div 元素,这些元素具有 ball、ball-1、ball-2 和 ball-3 类,位于容器 div 内部。我们使用 display 属性使容器元素成为弹性盒,并将球体对齐到中心。我们还设置了 height 和 background-color 属性以创建加载动画的背景。

结论

使用 CSS 设计渐变球加载动画是为网站添加视觉趣味和参与度的简单有效方法。通过给定的简单步骤,我们可以创建独特且吸引人的加载动画,从而使网站用户保持娱乐和参与。

更新于: 2023年3月16日

265 次浏览

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告