纯css圆形进度条

1、纯css圆形进度条
需要用到H5中的新标签<progress>默认样式是这样的

而我们的目标是将它变为圆形
那么提供了一种思路,就是将它5变为宽高都为100px圆角为50px的圆形
但是遇到了第一个问题progress设置了border-radius: 50px没有任何变化
解决方案:在progress外套了一个跟它一样大的div给div设圆角和溢出
隐藏,然后就可以显示圆形啦!
第二个问题:进度条还是从左往右增加的,我们希望是从下往上增加的效果
解决方案:使用transform:rotate(-90deg)是progress逆时针旋转90度
第三个问题:progress本身自带的背景样式无法再progress{}中修改,这个是什么鬼边框

解决方案:最后让我找到了,要再伪类里改才会有效果progress{background: #fff;},progress::-webkit-progress-bar { background: transparent; }//修改max值显示的背景区块,需要将bar伪类的背景设为透明后再在progress里修改
progress::-webkit-progress-value { background:#ff7d27; }//修改val值显示的背景区块



2、环形的css进度条
逻辑与上面相通,所以直接粘代码备份了
css部分:
progress{
width: 100px;
height: 100px;
transform:rotate(-90deg);
-ms-transform:rotate(-90deg); /* IE 9 */
-moz-transform:rotate(-90deg); /* Firefox */
-webkit-transform:rotate(-90deg); /* Safari 和 Chrome */
-o-transform:rotate(-90deg); /* Opera */
border: none;
background: #fff;
}
progress::-webkit-progress-bar { background: transparent; }
progress::-webkit-progress-value { background:#ff7d27; }
.box{
text-align: center;
width: 100px;
color: #666
}
.box_in{
width: 100px;
height: 100px;
overflow: hidden;
border-radius: 50px;
border:2px solid #ccc;
position: relative;
} 
.sum{
position: absolute;
top: 42px;
left: 38px;
} 
HTML部分
<div class="box">
<div class="box_in">
<progress value="50" max="100" "></progress>
<span class="sum">100</span>
</div>
<span>已完成:50</spqn>
</div>
</div>
效果图如下:

环形图只能显示成这样,这个形象中的环形图差距还是有点大的,但是试过几种方法暂时还未找到纯css显示环形图的方法
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值