用css3实现圆形进度条详解编程语言
2023-06-13 09:20:30 时间
使用css3的圆角、旋转、剪切属性实现圆形进度条,原理不难,两次剪切加一次旋转。 进度条分左右两边,50%一下操作右边的就行,超过50%操作左边的 样式随便写的,代码如下:
html部分:
div div div /div /div div div /div /div /div div span 0% /div
最内层的div3裁剪一半然后旋转需要的角度,
父级div2裁剪一半,此时已经裁剪出来了那个扇形了
最后在上面加个圆形遮盖层
css代码:
.div1, .right-div2, .right-div3, .left-div2, .left-div3 { width:200px; height:200px; border-radius:50%;} .div1 { background:#ccc; position:relative;} .right-div2, .right-div3, .left-div2, .left-div3 { position:absolute; left:0; top:0;} .right-div2, .right-div3 { clip:rect(0,auto,auto,100px);} .left-div2, .left-div3 { clip:rect(0,100px,auto,auto);} .right-div3 { background:#f00; transform:rotate(-180deg);} .left-div3 { background:#f00; transform:rotate(-180deg);} .div4 { position:absolute; top:25px; left:25px; width:150px; height:150px; line-height:150px; text-align:center; border-radius:50%; background:#fff;}
js代码:
$(function(){ var a = 0; var b = 0; var timer = setInterval(function(){ a++; if(a =50){ //-180deg是0%,转换一下 b = a*3.6-180; $(.right-div3).css(transform,rotate( + b + deg)); }else if(a 50 a =100){ //超过50%,需要修改左边的,右边0deg是50% $(.right-div3).css(transform,rotate(0)); //左边0deg是100%,转换一下 b = a*3.6-360; $(.left-div3).css(transform,rotate( + b + deg)); }else{ clearInterval(timer); return; } $(.div4 span).html(a); },200); });
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/11125.html
c相关文章
- 200行Html5+CSS3+JS代码实现动态圣诞树
- 使用 CSS3 transform 实现弹窗绝对居中
- CSS3 代码生成工具:Create CSS3
- iPhone,iPad 等常用设备的 CSS3 Media Queries
- js+css3的炫酷幻灯片效果详解编程语言
- CSS3 Gradients(渐变)详解编程语言
- CSS3自定义滚动条样式 -webkit-scrollbar详解编程语言
- css3 font-spider压缩自定义字体的方法详解编程语言
- css3 white-space: nowrap 实现横向滚动详解编程语言
- css3 flex弹性盒自动铺满写法详解编程语言
- css3 用混合模式要注意的问题详解编程语言
- CSS3 clip裁剪动画详解编程语言
- CSS3幸运大转盘最简单的写法详解编程语言
- css3自定义上传图片输入框的方法详解编程语言
- css3 input placeholder颜色修改方法详解编程语言
- css3 mask遮罩动画(照明灯效果)详解编程语言
- CSS3 文本控制
- CSS3 使用变量
- CSS3 阴影效果
- jquery和css3实现的炫酷时尚的菜单导航