如何使用HTML和CSS创建动态条形图

如何使用HTML和CSS创建动态条形图

概述

动态条形图是使用HTML和CSS创建的具有图形动画效果的条形图。动态条形图的布局是使用HTML创建的,条形图的样式是使用CSS进行设置的。普通的条形图可以正常创建,但是为了创建动画效果,我们将使用CSS过渡动画属性进行设置。我们将构建一个与音乐动效条形图同步的动画条形图。

步骤

步骤1 - 在文本编辑器中创建一个HTML文件并添加HTML骨架。

步骤2 - 现在创建一个包含动态线条的父级div容器。

<div class="animatedLines"></div>

步骤3 - 在父级div内创建一个div子容器。创建至少七个’div’以制作一个良好的动画条,并将其命名为lines。

<div class="lines"></div>
<div class="lines"></div>
<div class="lines"></div>
<div class="lines"></div>
<div class="lines"></div>
<div class="lines"></div>
<div class="lines"></div>
<div class="lines"></div>

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

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

步骤5 - 在style.css文件中为HTML元素设置样式。

.animatedLines {
   display: flex;
   justify-content: center;
   padding-top: 2rem;
}
.animatedLines .lines:nth-child(1) {
   animation-delay: .1s;
   background-color: rgb(141, 255, 88);
}

.animatedLines .lines:nth-child(2) {
   animation-delay: .2s;
   background-color: rgb(127, 253, 69);
}

.animatedLines .lines:nth-child(3) {
   animation-delay: .3s;

   background-color: rgb(18, 49, 6);
}

.animatedLines .lines:nth-child(4) {
   animation-delay: .4s;
   background-color: rgb(18, 49, 6);
}

.animatedLines .lines:nth-child(5) {
   animation-delay: .3s;
   background-color: rgb(18, 49, 6);
}

.animatedLines .lines:nth-child(6) {
   animation-delay: .2s;
   background-color: rgb(127, 253, 69);
}

.animatedLines .lines:nth-child(7) {
   animation-delay: .1s;
   background-color: rgb(102, 228, 43);
}

步骤6 − 将这些线条的动画作为目标定位子元素‘div’容器的类名。

.animatedLines .lines {
   list-style: none;
   width: 5px;
   height: 10px;
   margin: 0 4px;
   animation: animatedBars .5s infinite alternate;
}

@keyframes animatedBars {
   0% {
      transform: scaleY(1);
   }

   25% {
       transform: scaleY(1);
   }

   50% {
       transform: scaleY(1);
   }

   100% {
       transform: scaleY(6);
   }

}

步骤7 −动画条创建成功。

示例

在这个示例中,我们创建了一个动画条。为了实现这个目的,我们创建了两个文件:index.html和style.css。index文件包含页面的布局,style.css文件包含页面的样式部分。

<html>
<head>
   <title>animated bars</title>
   <link rel="stylesheet" href="style.css">
   <style>
      .animatedLines {
         display: flex;
         justify-content: center;
         padding-top: 2rem;
      }
      .animatedLines .lines:nth-child(1) {
         animation-delay: .1s;
         background-color: rgb(141, 255, 88);
      }

      .animatedLines .lines:nth-child(2) {
         animation-delay: .2s;
         background-color: rgb(127, 253, 69);
      }

      .animatedLines .lines:nth-child(3) {
         animation-delay: .3s;

         background-color: rgb(18, 49, 6);
      }

      .animatedLines .lines:nth-child(4) {
         animation-delay: .4s;
         background-color: rgb(18, 49, 6);
      }

      .animatedLines .lines:nth-child(5) {
         animation-delay: .3s;
         background-color: rgb(18, 49, 6);
      }

      .animatedLines .lines:nth-child(6) {
         animation-delay: .2s;
         background-color: rgb(127, 253, 69);
      }

      .animatedLines .lines:nth-child(7) {
         animation-delay: .1s;
         background-color: rgb(102, 228, 43);
      }
      .animatedLines .lines {
         list-style: none;
         width: 5px;
         height: 10px;
         margin: 0 4px;
         animation: animatedBars .5s infinite alternate;
      }

      @keyframes animatedBars {
         0% {
            transform: scaleY(1);
         }

         25% {
            transform: scaleY(1);
         }

         50% {
            transform: scaleY(1);
         }

         100% {
            transform: scaleY(6);
         }

      }
   </style>
</head>
<body>
   <h1 style="text-align: center;text-decoration: underline;color: green;">tutorialspoint.com</h1>
   <div class="animatedLines">
      <div class="lines"></div>
      <div class="lines"></div>
      <div class="lines"></div>
      <div class="lines"></div>
      <div class="lines"></div>
      <div class="lines"></div>
      <div class="lines"></div>
      <div class="lines"></div>
   </div>
</body>
</html>

给定的下面的图像显示了上述示例的输出,它显示了一些动态的线条,你可以在浏览器上实时看到它们。当用户将此功能加载到浏览器中时,它会显示出一些更具吸引力的动画线条。

结论

这个动画条的特性可以用作语音合成器的图形界面。你还可以在许多应用程序中看到这个组件,比如声音录音机和DJ节奏同步器。上述示例的主要部分是时间控制,我们已经设置了动画的时间控制与条形图的大小增加之间的关联。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程