2017-11-12 4 views
0

CSSとJSを使用して下の画像のような円形のプログレスバーを描きたいと思います。 あなたはそれで私を助けてもらえすると、このlinkから撮影javascriptとcssを使用してcricularプログレスバーを描く方法

enter image description here

<!DOCTYPE html> 
<html> 
<head> 
<style> 
.loader { 
    border: 16px solid #f3f3f3; 
    border-radius: 50%; 
    border-top: 16px solid #3498db; 
    width: 120px; 
    height: 120px; 

} 


</style> 
</head> 
<body> 


<div class="loader"></div> 

</body> 
</html> 
+0

をJSライブラリとしてもProgressbar js試すことができます。ここで選択した回答をご覧ください:https://stackoverflow.com/questions/42234855/is-it-possible-to-draw-a-partial-circle-outline-in-css-open-ring-shapeインスピレーション。 –

+0

いいえ部分円ではなく、ダウンロードしたデータに基づいて内円が描画されます – flex

答えて

0

役に立つかもしれません。また、あなたは、これはあなたがずっと問題なくSVGの円をアニメーション化することができます

@import url(https://fonts.googleapis.com/css?family=Lato:700); 
 
*, 
 
*:before, 
 
*:after { 
 
    box-sizing: border-box; 
 
} 
 
html, 
 
body { 
 
    background: #ecf0f1; 
 
    color: #444; 
 
    font-family: 'Lato', Tahoma, Geneva, sans-serif; 
 
    font-size: 16px; 
 
    padding: 10px; 
 
} 
 
.set-size { 
 
    font-size: 10em; 
 
} 
 
.charts-container:after { 
 
    clear: both; 
 
    content: ""; 
 
    display: table; 
 
} 
 
.pie-wrapper { 
 
    height: 1em; 
 
    width: 1em; 
 
    float: left; 
 
    margin: 15px; 
 
    position: relative; 
 
} 
 
.pie-wrapper:nth-child(3n+1) { 
 
    clear: both; 
 
} 
 
.pie-wrapper .pie { 
 
    height: 100%; 
 
    width: 100%; 
 
    clip: rect(0, 1em, 1em, 0.5em); 
 
    left: 0; 
 
    position: absolute; 
 
    top: 0; 
 
} 
 
.pie-wrapper .pie .half-circle { 
 
    height: 100%; 
 
    width: 100%; 
 
    border: 0.1em solid #3498db; 
 
    border-radius: 50%; 
 
    clip: rect(0, 0.5em, 1em, 0); 
 
    left: 0; 
 
    position: absolute; 
 
    top: 0; 
 
} 
 
.pie-wrapper .label { 
 
    background: #34495e; 
 
    border-radius: 50%; 
 
    bottom: 0.4em; 
 
    color: #ecf0f1; 
 
    cursor: default; 
 
    display: block; 
 
    font-size: 0.25em; 
 
    left: 0.4em; 
 
    line-height: 2.6em; 
 
    position: absolute; 
 
    right: 0.4em; 
 
    text-align: center; 
 
    top: 0.4em; 
 
} 
 
.pie-wrapper .label .smaller { 
 
    color: #bdc3c7; 
 
    font-size: .45em; 
 
    padding-bottom: 20px; 
 
    vertical-align: super; 
 
} 
 
.pie-wrapper .shadow { 
 
    height: 100%; 
 
    width: 100%; 
 
    border: 0.1em solid #bdc3c7; 
 
    border-radius: 50%; 
 
} 
 
.pie-wrapper.style-2 .label { 
 
    background: none; 
 
    color: #7f8c8d; 
 
} 
 
.pie-wrapper.style-2 .label .smaller { 
 
    color: #bdc3c7; 
 
} 
 
.pie-wrapper.progress-30 .pie .right-side { 
 
    display: none; 
 
} 
 
.pie-wrapper.progress-30 .pie .half-circle { 
 
    border-color: #3498db; 
 
} 
 
.pie-wrapper.progress-30 .pie .left-side { 
 
    -webkit-transform: rotate(108deg); 
 
      transform: rotate(108deg); 
 
} 
 
.pie-wrapper.progress-60 .pie { 
 
    clip: rect(auto, auto, auto, auto); 
 
} 
 
.pie-wrapper.progress-60 .pie .right-side { 
 
    -webkit-transform: rotate(180deg); 
 
      transform: rotate(180deg); 
 
} 
 
.pie-wrapper.progress-60 .pie .half-circle { 
 
    border-color: #9b59b6; 
 
} 
 
.pie-wrapper.progress-60 .pie .left-side { 
 
    -webkit-transform: rotate(216deg); 
 
      transform: rotate(216deg); 
 
} 
 
.pie-wrapper.progress-90 .pie { 
 
    clip: rect(auto, auto, auto, auto); 
 
} 
 
.pie-wrapper.progress-90 .pie .right-side { 
 
    -webkit-transform: rotate(180deg); 
 
      transform: rotate(180deg); 
 
} 
 
.pie-wrapper.progress-90 .pie .half-circle { 
 
    border-color: #e67e22; 
 
} 
 
.pie-wrapper.progress-90 .pie .left-side { 
 
    -webkit-transform: rotate(324deg); 
 
      transform: rotate(324deg); 
 
} 
 
.pie-wrapper.progress-45 .pie .right-side { 
 
    display: none; 
 
} 
 
.pie-wrapper.progress-45 .pie .half-circle { 
 
    border-color: #1abc9c; 
 
} 
 
.pie-wrapper.progress-45 .pie .left-side { 
 
    -webkit-transform: rotate(162deg); 
 
      transform: rotate(162deg); 
 
} 
 
.pie-wrapper.progress-75 .pie { 
 
    clip: rect(auto, auto, auto, auto); 
 
} 
 
.pie-wrapper.progress-75 .pie .right-side { 
 
    -webkit-transform: rotate(180deg); 
 
      transform: rotate(180deg); 
 
} 
 
.pie-wrapper.progress-75 .pie .half-circle { 
 
    border-color: #8e44ad; 
 
} 
 
.pie-wrapper.progress-75 .pie .left-side { 
 
    -webkit-transform: rotate(270deg); 
 
      transform: rotate(270deg); 
 
} 
 
.pie-wrapper.progress-95 .pie { 
 
    clip: rect(auto, auto, auto, auto); 
 
} 
 
.pie-wrapper.progress-95 .pie .right-side { 
 
    -webkit-transform: rotate(180deg); 
 
      transform: rotate(180deg); 
 
} 
 
.pie-wrapper.progress-95 .pie .half-circle { 
 
    border-color: #e74c3c; 
 
} 
 
.pie-wrapper.progress-95 .pie .left-side { 
 
    -webkit-transform: rotate(342deg); 
 
      transform: rotate(342deg); 
 
} 
 
.pie-wrapper--solid { 
 
    border-radius: 50%; 
 
    overflow: hidden; 
 
} 
 
.pie-wrapper--solid:before { 
 
    border-radius: 0 100% 100% 0%; 
 
    content: ''; 
 
    display: block; 
 
    height: 100%; 
 
    margin-left: 50%; 
 
    -webkit-transform-origin: left; 
 
      transform-origin: left; 
 
} 
 
.pie-wrapper--solid .label { 
 
    background: transparent; 
 
} 
 
.pie-wrapper--solid.progress-65 { 
 
    background: -webkit-linear-gradient(left, #e67e22 50%, #34495e 50%); 
 
    background: linear-gradient(to right, #e67e22 50%, #34495e 50%); 
 
} 
 
.pie-wrapper--solid.progress-65:before { 
 
    background: #e67e22; 
 
    -webkit-transform: rotate(126deg); 
 
      transform: rotate(126deg); 
 
} 
 
.pie-wrapper--solid.progress-25 { 
 
    background: -webkit-linear-gradient(left, #9b59b6 50%, #34495e 50%); 
 
    background: linear-gradient(to right, #9b59b6 50%, #34495e 50%); 
 
} 
 
.pie-wrapper--solid.progress-25:before { 
 
    background: #34495e; 
 
    -webkit-transform: rotate(-270deg); 
 
      transform: rotate(-270deg); 
 
} 
 
.pie-wrapper--solid.progress-88 { 
 
    background: -webkit-linear-gradient(left, #3498db 50%, #34495e 50%); 
 
    background: linear-gradient(to right, #3498db 50%, #34495e 50%); 
 
} 
 
.pie-wrapper--solid.progress-88:before { 
 
    background: #3498db; 
 
    -webkit-transform: rotate(43.2deg); 
 
      transform: rotate(43.2deg); 
 
}
<div class="set-size charts-container"> 
 
    <div class="pie-wrapper progress-30"> 
 
    <span class="label">30<span class="smaller">%</span></span> 
 
    <div class="pie"> 
 
     <div class="left-side half-circle"></div> 
 
     <div class="right-side half-circle"></div> 
 
    </div> 
 
    </div> 
 

 
    <div class="pie-wrapper progress-60"> 
 
    <span class="label">60<span class="smaller">%</span></span> 
 
    <div class="pie"> 
 
     <div class="left-side half-circle"></div> 
 
     <div class="right-side half-circle"></div> 
 
    </div> 
 
    </div> 
 

 
    <div class="pie-wrapper progress-90"> 
 
    <span class="label">90<span class="smaller">%</span></span> 
 
    <div class="pie"> 
 
     <div class="left-side half-circle"></div> 
 
     <div class="right-side half-circle"></div> 
 
    </div> 
 
    </div> 
 

 
    <div class="pie-wrapper progress-45 style-2"> 
 
    <span class="label">45<span class="smaller">%</span></span> 
 
    <div class="pie"> 
 
     <div class="left-side half-circle"></div> 
 
     <div class="right-side half-circle"></div> 
 
    </div> 
 
    <div class="shadow"></div> 
 
    </div> 
 

 
    <div class="pie-wrapper progress-75 style-2"> 
 
    <span class="label">75<span class="smaller">%</span></span> 
 
    <div class="pie"> 
 
     <div class="left-side half-circle"></div> 
 
     <div class="right-side half-circle"></div> 
 
    </div> 
 
    <div class="shadow"></div> 
 
    </div> 
 

 
    <div class="pie-wrapper progress-95 style-2"> 
 
    <span class="label">95<span class="smaller">%</span></span> 
 
    <div class="pie"> 
 
     <div class="left-side half-circle"></div> 
 
     <div class="right-side half-circle"></div> 
 
    </div> 
 
    <div class="shadow"></div> 
 
    </div> 
 
    
 
    <div class="pie-wrapper pie-wrapper--solid progress-65"> 
 
    <span class="label">65<span class="smaller">%</span></span> 
 
    </div> 
 
    
 
    <div class="pie-wrapper pie-wrapper--solid progress-25"> 
 
    <span class="label">25<span class="smaller">%</span></span> 
 
    </div> 
 
    
 
    <div class="pie-wrapper pie-wrapper--solid progress-88"> 
 
    <span class="label">88<span class="smaller">%</span></span> 
 
    </div> 
 
</div>

関連する問題