首頁 >web前端 >css教學 >如何建立具有自訂百分比停止點的 CSS 進度圓?

如何建立具有自訂百分比停止點的 CSS 進度圓?

Barbara Streisand
Barbara Streisand原創
2024-12-10 02:35:13880瀏覽

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