首页 >web前端 >css教程 >如何创建具有自定义百分比停止点的 CSS 进度圆?

如何创建具有自定义百分比停止点的 CSS 进度圆?

Barbara Streisand
Barbara Streisand原创
2024-12-10 02:35:13889浏览

How to Create a CSS Progress Circle with Custom Percentage Stops?

如何创建带有自定义百分比停止点的 CSS 进度圆

您可能会遇到需要圆形进度条,但默认动画圆填充到 100% 的情况不符合您的规格。在本文中,我们将演示如何创建一个可以在特定百分比处停止的 CSS 进度圈。

CSS 实现

我们的目标是使用 CSS 来实现这个具有特定百分比的进度圈。百分比停止。操作方法如下:

.wrapper {
  width: 100px;
  height: 100px;
  position: absolute;
  clip: rect(0px, 100px, 100px, 50px);
}

.circle {
  width: 80px;
  height: 80px;
  border: 10px solid green;
  border-radius: 50px;
  position: absolute;
  clip: rect(0px, 50px, 100px, 0px);
}

div[data-anim~=base] {
  -webkit-animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
  -webkit-animation-timing-function:linear;
}

.wrapper[data-anim~=wrapper] {
  -webkit-animation-duration: 0.01s;
  -webkit-animation-delay: 3s;
  -webkit-animation-name: close-wrapper;
}

.circle[data-anim~=left] {
  -webkit-animation-duration: 6s;
  -webkit-animation-name: left-spin;
}

.circle[data-anim~=right] {
  -webkit-animation-duration: 3s;
  -webkit-animation-name: right-spin;
}

@-webkit-keyframes right-spin {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(180deg);
  }
}

@-webkit-keyframes left-spin {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
  }
}

@-webkit-keyframes close-wrapper {
  to {
    clip: rect(auto, auto, auto, auto);
  }
}

HTML 结构

CSS 就位后,您可以使用以下 HTML 结构创建进度圈:

<div class="wrapper" data-anim="base wrapper">
  <div class="circle" data-anim="base left"></div>
  <div class="circle" data-anim="base right"></div>
</div>

此代码将创建一个以半圆(50%)开始的进度圆,然后将左侧旋转 360 度,将右侧旋转180 度。

结论

使用这种 CSS 技术,您现在可以创建具有自定义百分比停止的圆形进度条,而无需 JavaScript。这为设计自定义进度指示器以满足您的特定要求提供了多种可能性。

以上是如何创建具有自定义百分比停止点的 CSS 进度圆?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn