zoukankan      html  css  js  c++  java
  • 利用css完成一个环形进度条

      因为项目需要一个环形进度条,所以研究并且参考了下别人的实现,话不多说直接上代码.

      1.html

    <div class="circle-progress">
        <div class="wrapper right">
            <div class="circle-progress-bar circle-right"></div>
        </div>
        <div class="wrapper left">
            <div class="circle-progress-bar circle-left"></div>
        </div>
    </div>
    

      2.css

    .circle-progress {
     	 120px;
     	height: 120px;
     	position: relative;
    	margin-bottom: 5px;
    }
    .circle-progress .wrapper {
    	 50%;
    	height: 100%;
    	position: absolute;
    	top: 0;
    	overflow: hidden;
    }
    .circle-progress .wrapper .circle-progress-bar {
    	 200%;
    	height: 100%;
    	box-sizing: border-box;
    	border: 12px solid transparent;
    	border-radius: 50%;
    	position: absolute;
    	top: 0;
    	transform: rotate(45deg);
    }
    .circle-progress .wrapper .circle-right {
    	border-top: 12px solid green;
    	border-right: 12px solid green;
    	right: 0;
    }
    .circle-progress .wrapper .circle-left {
    	border-bottom: 12px solid green;
    	border-left: 12px solid green;
    	left: 0;
    }
    .circle-progress .wrapper-back {
    	 100%;
    	height: 100%;
    	box-sizing: border-box;
    	border-radius: 50%;
    	border: 12px solid #eee;
    }
    .circle-progress .right {
    	right: 0;
    }
    .circle-progress .left {
    	left: 0;
    }
    

      效果大概是这样:

    此时是100%的情况,利用js方便控制进度.

      3.js

    function setCircle (dom,percent) {
        var deg = percent * 360;
        var reDeg = 0;
        if(deg >= 180) {
            reDeg = deg - 315;
            dom.getElementsByClassName("circle-right")[0].style.transform = "rotate(45deg)"; 
            dom.getElementsByClassName("circle-left")[0].style.transform = "rotate("+reDeg+"deg)"; 
        } else {
            reDeg = deg - 135;
            dom.getElementsByClassName("circle-right")[0].style.transform = "rotate("+reDeg+"deg)"; 
            dom.getElementsByClassName("circle-left")[0].style.transform = "rotate(-135deg)"; 
        }
    }
    

     

      效果大概是这样

      

      细节再美化下大概是这样,这是项目里的了,就不展示具体代码了.

  • 相关阅读:
    记一次struts项目空指针异常
    struts2问题(已解决)java.nio.file.InvalidPathException: Illegal char <:> at index 3: jar:file:
    Road Map
    API
    Report of program history
    正则表达式验证用户信息
    RegExp( replace()的示例 )
    DOM与BOM部分示例
    伪类与伪元素
    第三次随笔(按钮外观改变)
  • 原文地址:https://www.cnblogs.com/LandMine/p/7121515.html
Copyright © 2011-2022 走看看