如何使用 HTML 和 CSS 创建动画加载环?

htmlcssweb developmentfront end technology更新于 2024/6/16 13:00:17

概述

加载器是一个 Web 组件,几乎所有 Web 应用程序都会用到它。要创建加载器环,我们需要一些关于层叠样式表 (CSS) 的先验知识,因为 CSS 涉及加载器环的样式和动画部分。加载器组件会在原始内容加载到网页之前加载。用于构建此功能的主要样式属性是动画、过渡和关键帧。这三个 CSS 属性将为动画加载器环创建一个简单的静态动画加载环。

算法

步骤 1 − 在文件夹中创建一个 HTML 文件,并使用文本编辑器打开它。将 HTML 样板文件添加到 HTML 文件中。

步骤 2 − 在 HTML 文档的 body 标签中创建一个 HTML 父 div 容器,并将类名设置为"loading"。

<div class="loading"></div>

步骤 3 − 创建一个子 div 容器,作为主加载器环,类名为"Loader"。

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

步骤 4 − 创建一个 p 标签,并在其中写入文本"Loading"。

<p>正在加载....</p>

步骤 5 − 现在创建一个 style.css 文件并将该文件链接到 HTML 文档。

<link rel="stylesheet" href="style.css">

步骤 6 − 现在设置 HTML 元素的样式,并使加载器在网页中响起。

body {
   margin: 0;
   width: 100%;
   height: 100vh;
   display: flex;
   align-items: center;
   justify-content: center;
}

p {
   font-family: 'Segoe UI';
}

步骤 7 − 定位加载器类并使用边框半径制作边框,从而制作出类似环形框架的结构。

.loader {
   border: 10px solid #d6d6d6;
   border-radius: 50%;
   border-top: 10px solid #5bdb34;
   width: 50px;
   height: 50px;
}

步骤 8 − 将动画属性添加到 loader 元素,动画名称为"lring",并设置动画持续时间和迭代次数。

.loader {
   border: 10px solid #d6d6d6;
   border-radius: 50%;
   border-top: 10px solid #5bdb34;
   width: 50px;
   height: 50px;
   animation: lring 1s linear infinite;
}

步骤 9 − 现在创建关键帧属性并定位上述动画,然后将动画设置为元素。

@keyframes lring {
   0% {
      transform: rotate(0deg);
   }
   
   100% {
      transform: rotate(360deg);
   }
}

步骤 10−动画加载环已成功创建。

示例

在此示例中,我们使用简单的 HTML 和 CSS animation 属性创建了一个动画加载环功能组件。为此,我们创建了两个文件,第一个文件为 index.html,它是加载环的布局或框架;另一个文件为 style.css,它是加载环的样式和工作方式。

<html>
<head>
   <title>loading ring</title>
   <link rel="stylesheet" href="style.css">
   <style>
      body {
         margin: 0;
         width: 100%;
         height: 100vh;
         display: flex;
         align-items: center;
         justify-content: center;
      }

      p {
         font-family: 'Segoe UI';
      }

      .loader {
         border: 10px solid #d6d6d6;
         border-radius: 50%;
         border-top: 10px solid #5bdb34;
         width: 50px;
         height: 50px;
         animation: lring 1s linear infinite;
      }
      
      @keyframes lring {
         0% {
            transform: rotate(0deg);
         }
      
         100% {
            transform: rotate(360deg);
         }
      }
   </style>
</head>
<body>
   <div class="loading">
      <div class="loader"></div>
      <p>Loading ....</p>
   </div>
</body>
</html>

结论

上述功能适用于所有网页或移动应用。由于上述创建的只是一个组件,我们可以通过使用 API 获取数据或本地数据,将此功能组件嵌入到实际运行的应用中。这样,当网页数据尚未加载到我们的网页时,我们可以在屏幕上显示动画加载环,并在数据加载完成后立即用网站内容替换加载环。我们还可以构建各种设计风格的加载动画。


相关文章


有用资源