css圆圈样式记分数(100分)天数(30天)等

本文介绍了一种使用CSS和JavaScript实现的圆形进度条设计方法,能够根据不同的数值动态调整旋转角度,适用于显示分数、天数等多种场景。

css:

       .yuan {
           width: 76px;
           height: 76px;
           margin: 4.7px auto 0;
           box-sizing: border-box;
           padding-top: 8px;
           text-align: center;
           background-color: #CFDDFC;
           border-radius: 50%;
           position: relative;
        }

        .yuan_bl1,
        .yuan_bl2,
        .yuan_bl3,
        .yuan_bl4 {
            width: 100%;
            height: 100%;
            border-radius: 50%;
            position: absolute;
            left: 0;
            top: 0;
            transform: rotate(90deg);
        }

        .yuan_bl1,
        .yuan_bl2 {
            background-color: #CFDDFC;
        }

        .yuan_bl3,
        .yuan_bl4 {
            background-color: #CFDDFC;
        }

        .yuan_bl1,
        .yuan_bl3 {
            clip: rect(0 76px 38px 0);
        }

        .yuan_bl2,
        .yuan_bl4 {
            clip: rect(38px 76px 76px 0);
        }

        .yuan_text {
            width: 60px;
            margin: 0 auto;
            background-color: #fff;
            border-radius: 50%;
            position: relative;
            font-family: PingFangSC-Regular;
            font-size: 20px;
            color: #0B1434;
            letter-spacing: 0;
            text-align: center;
            height: 60px;
            line-height: 60px;
        }

html:

<div class="yuan">
       <div class="yuan_bl1">
       </div>
       <div class="yuan_text">{$curMonthSignInDays}</div>
    </div>

js:

function ball(){
            let yuan_text = $('.yuan_text')
            let bl = parseInt($(yuan_text).html());
            let rotatenum = bl;
            if(bl > 15){
                let blhtml = '';
                rotatenum = parseInt((bl - 15) * 12);  //以天数*12 分数时则为*3.6
                blhtml += '<div class="yuan_bl2" style="background-color:#739CFF">';
                blhtml += '<div class="yuan_bl4" style="-webkit-transform:rotate(' + rotatenum + 'deg);transform:rotate(' + rotatenum + 'deg);"></div>';
                blhtml += '</div>';
                //$('.yuan_bl1').remove($('.yuan_bl3'));
                $('.yuan_bl1').after(blhtml);
            }else{
                let blhtml = '';
                rotatenum = parseInt(bl * 12);  //以天数*12 分数时则为*3.6
                blhtml += '<div class="yuan_bl3" style="-webkit-transform:rotate(' + rotatenum + 'deg);transform:rotate(' + rotatenum + 'deg);"></div>';
                $('.yuan_bl1').append(blhtml);
            }
            $(".yuan_bl1").css({ "background-color":"#739CFF"});
        }

css圆圈样式记分数(100分)天数(30天)等 实际为360角度
如果需要变动css宽高 clip: rect(0 76px 38px 0); 76:宽度 38:宽度/2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

℡╮荆棘鸟゛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值