<div class="circle">
<div class="stop"></div>
<div class="center">
<span>36</span>
<label>%</label>
</div>
</div>
<style>
* {
margin: 0;
padding: 0;
}
html,
body {
height: 100%;
background-color: #fff;
}
.circle {
margin: 40px;
width: 120px;
height: 120px;
background-color: #fff;
border-radius: 50%;
background: conic-gradient(#189cfb 0deg, #189cfb 0deg, #eee 0deg, #eee 360deg);
position: relative;
/* transition: 1s linear; */
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
}
.circle::after {
content: '';
display: block;
width: 92px;
height: 92px;
border-radius: 50%;
background-color: #fff;
transform: translate(14px, 14px);
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
.circle::before,
.stop {
content: '';
display: block;
width: 14px;
height: 14px;
border-radius: 50%;
background-color: #189cfb;
position: absolute;
top: 0;
left: 53px;
background: linear-gradient(0, #189cfb 0%, #189cfb 50%, #168ce1 100%);
}
.stop {
transform: rotate(0deg);
/* transition: 1s linear; */
transform-origin: 7px 60px;
}
.center {
position: absolute;
top: 14px;
left: 14px;
z-index: 10;
width: 92px;
height: 92px;
display: flex;
justify-content: center;
align-items: center;
font-family: Helvetica, sans-serif;
}
.center span {
font-size: 32px;
letter-spacing: -1px;
}
.center label {
font-size: 16px;
margin-left: 5px;
transform: translateY(5px);
}
</style>
<script>
let circle = document.querySelector('.circle')
let stop = document.querySelector('.stop')
let center = document.querySelector('.center span')
let data = 0
function loop() {
center.textContent = parseInt(data * 100)
let r = data * 360
circle.style.background = `conic-gradient(#189cfb 0deg, #189cfb ${r}deg, #eee ${r}deg, #eee 360deg)`
stop.style.transform = `rotate(${r}deg)`
if (data < 1) {
data += 0.01
window.requestAnimationFrame(loop)
}
}
loop()
</script>
【css】使用conic-gradient绘制圆环进度条
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 突然有需求要做一个圆环的音频播放进度条(上图效果),自己琢磨尝试了半天,也没有实现。最后度娘一下,才知道css还有...
- 最终效果 进度条实际效果展示 创建进度条的步骤 创建一个元素并。 .prog { width: 300px...
- 1.实现效果 2.微信小程序canvas官网 https://developers.weixin.qq.com/m...
- PZXCircleView 圆环进度条,渐变圆环进度条下载地址:https://github.com/PZXfor...