2017-11-23 2 views
0

Ich möchte eine kreisförmige svg wie diese enter image description hereAngular 2 Kreis svg mit Schlaganfall

erstellen, und ich fand this Bibliothek und einige andere Bibliotheken auch. Aber keiner von ihnen entspricht meiner Anforderung. Ich weiß wirklich nicht, wie ich das schaffen soll. Kann mir jemand helfen, so Svg zu erstellen? Jeder Verweis/PLNKR Link würde sehr geschätzt werden.

Antwort

2

Ich denke nicht, dass es ein Plugin benötigt, um damit umzugehen. Ich habe einen Prototyp mit SVG gemacht. Hoffentlich wird es für Sie hilfreich sein. Überprüfen Sie den Code (Ich benutze SCSS):

$pi: 22/7; 
 
$r: 50; 
 
$circumference: (2 * $pi * $r); 
 
circle { 
 
    cx: 60; 
 
    cy: 60; 
 
    r: $r; 
 
    stroke-width: 10; 
 
    fill: transparent; 
 
    transform-origin: center; 
 
} 
 

 
.bg-circle{ 
 
    stroke: lightblue; 
 
} 
 

 
.hl-circle{ 
 
    stroke: blue; 
 
    stroke-dasharray: calc(#{$circumference} * 10/100) #{$circumference}; 
 
    transform: rotate(-90deg); 
 
} 
 

 
.st-circle{ 
 
    stroke: white; 
 
    transform: rotate(-20deg); 
 
    stroke-dasharray: 2 (($circumference/10) - 2); 
 
}
<svg> 
 
    <circle class="bg-circle"></circle> 
 
    <circle class="hl-circle"></circle> 
 
    <circle class="st-circle"></circle> 
 
</svg>

Sie können die Arbeits fiddle here überprüfen.

+0

Danke, @Mr_Green. 'stroke-dasharray: calc (# {$ Umfang} * 10/100) # {$ Umfang};' // hier wird 10 dynamisch sein. irgendeine Idee, wie man das macht? Können wir gründliche js erstellen? –

+0

Ja übergeben Sie das Attribut 'stroke-dasharray' über JS. check 'setAttribute'. –

+0

Verstanden. Neu bei SVG. Ich werde mich bemühen, die SVG zu verstehen. Vielen Dank :) es hat mir geholfen. –