91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

css如何實現環形循環進度條

發布時間:2023-01-31 14:03:01 來源:億速云 閱讀:159 作者:iii 欄目:web開發

本篇內容主要講解“css如何實現環形循環進度條”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“css如何實現環形循環進度條”吧!

css實現環形循環進度條的方法:1、創建一個最外層的父級圓環;2、通過“clip-path”畫出兩個半圓,并絕對定位覆蓋在父級圓環;3、小于50時,通過旋轉右半圓,慢慢透露出父級圓環的顏色;4、大于50時,設置右半圓旋轉度數為0,修改其border顏色來實現前50的效果,其次再旋轉左側半圓即可達到效果。

一、靜態進度條

首先,我們先看一個靜態進度條

  • 第一步當然是先實現一個最外層的父級圓環。

  • 其次是通過 clip-path畫出兩個半圓,并絕對定位覆蓋在父級圓環。

  • 小于50的時候,我們只需要通過旋轉右半圓,慢慢透露出父級圓環的顏色,即可達到效果。

  • 大于50的時候,我們先按照流程走前面50,再設置右半圓旋轉度數為0,修改其border顏色來實現前50的效果,其次再旋轉左側半圓即可達到效果。

<template>
   <div class="circle">
       <div class="circle_left ab" :style="renderLeftRate(85)"></div>
       <div class="circle_right ab" :style="renderRightRate(85)"></div>
       <div class="circle_text">
           <span class="name">成功率</span>
           <span class="value">85%</span>
       </div>
   </div></template><script lang="ts">export default {
   name: 'CircleProgress',
   setup() {
       const renderRightRate = (rate: number) => {
           if (rate < 50) {
               return 'transform: rotate(' + 3.6 * rate + 'deg);';
           } else {
               return 'transform: rotate(0);border-color: #54c4fd;';
           }
       };

       const renderLeftRate = (rate: number) => {
           if (rate >= 50) {
               return 'transform: rotate(' + 3.6 * (rate - 50) + 'deg);';
           }
       };
       return {
           renderLeftRate,
           renderRightRate,
       };
   },};</script><style lang="scss">.circle {
   width: 80px;
   height: 80px;
   position: relative;
   border-radius: 50%;
   left: 200px;
   top: 50px;
   box-shadow: inset 0 0 0 5px #54c4fd;

   .ab {
       position: absolute;
       left: 0;
       right: 0;
       top: 0;
       bottom: 0;
       margin: auto;
   }

   &_left {
       border: 5px solid #546063;
       border-radius: 50%;
       clip: rect(0, 40px, 80px, 0);
   }

   &_right {
       border: 5px solid #546063;
       border-radius: 50%;
       clip: rect(0, 80px, 80px, 40px);
   }

   &_text {
       height: 100%;
       display: flex;
       flex-direction: column;
       justify-content: center;
       align-items: center;
       color: #fff;

       .name {
           margin-bottom: 4px;
       }
   }}</style>

效果如下圖:
css如何實現環形循環進度條

二、動態進度條

動態的css其實和靜態的是一樣的。
該例子是寫的固定的進度,你們也可以根據自己的需求變換。

<template>
   <div class="circle">
       <div ref="circleLeft" class="circle_left ab"></div>
       <div ref="circleRight" class="circle_right ab"></div>
       <div class="circle_text">
           <span class="name">成功率</span>
           <span class="value">85%</span>
       </div>
   </div></template><script lang="ts">import { onMounted, ref, Ref } from 'vue';export default {
   name: 'CircleProgress',
   setup() {
       const circleLeft: Ref<HTMLElement | null | any> = ref(null);
       const circleRight: Ref<HTMLElement | null | any> = ref(null);
       let timer = 0;
       let percent = 0;

       const step = () => {
           percent += 1;

           if (percent < 50) {
               circleRight.value.style.transform = 'rotate(' + 3.6 * percent + 'deg)';
           } else {
               circleRight.value.style.transform = 'rotate(0)';
               circleRight.value.style.borderColor = '#54c4fd';
               circleLeft.value.style.transform = 'rotate(' + 3.6 * (percent - 50) + 'deg)';
           }
           if (percent < 85) {
               window.clearTimeout(timer);
               timer = window.setTimeout(step, 20);
           }
       };

       onMounted(() => {
           step();
       });

       return {
           circleLeft,
           circleRight,
       };
   },};</script>

效果如下:
css如何實現環形循環進度條

到此,相信大家對“css如何實現環形循環進度條”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

css
AI

若羌县| 长武县| 桑植县| 大理市| 元江| 灵山县| 大新县| 凤城市| 额济纳旗| 同德县| 会昌县| 南雄市| 周至县| 兴国县| 蒙山县| 迁西县| 溧水县| 来安县| 册亨县| 永昌县| 寿宁县| 中江县| 普洱| 黔西| 天峻县| 达州市| 梁山县| 凤城市| 太谷县| 南木林县| 阿勒泰市| 丰台区| 鄢陵县| 大同县| 新龙县| 和顺县| 贵溪市| 大荔县| 海兴县| 古田县| 佛冈县|