CSS 加载器Loaders

CSS 加载器Loaders

CSS加载器是用于指示网页加载过程的动画效果。它们使用CSS实现,并可应用于网页上的各种元素,如旋转器或进度条。CSS加载器通常用于通过视觉方式指示内容正在加载或处理,从而改善用户体验。

以下是用于创建加载器的几个CSS属性:

  • border : 用于指定加载器边框的大小和颜色。
  • border-radius : 用于指定加载器的形状。例如:border-radius:50%可以将加载器变成圆形。
  • border-top、border-bottom、border-left和/或border-right : 用于指示加载器的旋转方向。
  • width : 用于指定加载器的宽度。
  • height : 用于指定加载器的高度。
  • animation : 用于指定加载器旋转所需的时间。
  • @keyframes : @keyframes规则用于指定动画规则。它可以包含关键词from和to,分别表示0%和100%;其中0%表示动画的开始,100%表示动画的结束。
  • transform : transform函数用于指定加载器的旋转角度。
  • mask/mask-composite : 用于创建加载器的最终形状。

在代码中为不支持animation和transform属性的浏览器添加 -webkit- 前缀。

示例

这是一个使用CSS创建加载器的示例:

<html>
<head>
<style>
   .loader-test {
      border: 20px solid #110101;
      border-radius: 60%;
      border-top: 20px solid #f10c18;
      border-right: 20px solid yellow;
      border-bottom: 20px solid blue;
      border-left: 20px solid green;
      width: 50px;
      height: 50px;
      -webkit-animation: spin 5s linear infinite;
      animation: spin 5s linear infinite;
   }
   @keyframes spin {
      0% {transform: rotate(0deg);}
      100% {transform: rotate(360deg);}
   }
</style>
</head>
<body>
   <h2>CSS Loader</h2>
   <div class="loader-test"></div>
</body>
</html>

下面是使用一个边框简写属性 border-right 创建加载器的示例:

<html>
<head>
<style>
   .loader-test {
      border: 20px solid #110101;
      border-radius: 60%;
      border-right: 20px solid red;
      width: 50px;
      height: 50px;
      -webkit-animation: spin 2s linear infinite;
      animation: spin 2s linear infinite;
   }
   @keyframes spin {
      0% {transform: rotate(0deg);}
      100% {transform: rotate(360deg);}
   }
</style>
</head>
<body>
   <h2>CSS Loader</h2>
   <div class="loader-test"></div>
</body>
</html>

下面是使用:before和:after属性创建加载器的示例:

<html>
<head>
<style>
   .loader-test {
      width: 100px; /* control the size */
      aspect-ratio: 1;
      -webkit-mask: conic-gradient(red, yellow, green);
            mask: conic-gradient(red, yellow, green);
      animation: spin 2s steps(12) infinite;
   }
   .loader,
   .loader:before,
   .loader:after{
      background: conic-gradient(red, yellow, green);
   }
   .loader:before,
   .loader:after{
      content: "";
      transform: rotate(30deg);
   }
   .loader:after{
      transform: rotate(60deg);
   }
   @keyframes spin {
      from {transform: rotate(0turn)}
      to   {transform: rotate(1turn)}
   }
   div {
      margin: 20px;
      width: 100px;
      height: 100px;
      place-content: center;
      place-items: center;
   }
</style>
</head>
<body>
   <h2>CSS Loader</h2>
   <div class="loader-test">
</div>
</body>
</html>

始终同时指定0%和100%的选择器,以获得最佳的浏览器支持。

以下是创建加载器的示例:

<html>
<head>
<style>
   .loader-test {
      width: 50px;
      padding: 10px;
      aspect-ratio: 1;
      border-radius: 50%;
      margin: 20px;
      height: 50px;
      background: linear-gradient(10deg,#ccc,red);
      -webkit-mask: conic-gradient(#0000,#000), linear-gradient(#000 0 0) content-box;
            mask: conic-gradient(#0000,#000), linear-gradient(#000 0 0) content-box;
      -webkit-mask-composite: source-out;
            mask-composite: subtract;
      animation: load 1s linear infinite;
   }

   @keyframes load {
      to{transform: rotate(1turn)}
   }
</style>
</head>
<body>
   <h2>CSS Loader</h2>
   <div class="loader-test"></div>
</body>
</html>

有无数种通过CSS创建的加载动画。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程