Learn SvelteKit and Firebase: The Ultimate Guide
Learn how to use SvelteKit and Firebase to build high-performance, scalable web applications.
In this HTML snippet you can see that we are using a span that has a special data-value attribute. This allows us to store the current value on the HTML element depending on how much loading has occured. There is also a SVG element here that has a stroke yellow and what is more important though is the stroke width of 20, this will set how large the animated portion of the SVG will be displayed.
<div class="progress-circle">
<span class="number" data-value="100"></span>
<svg height="150" width="150" class="circle">
<circle cx="75" cy="75" r="65" stroke="var(--yellow)" stroke-width="20" fill="none" />
</svg>
</div>
In this CSS the broder-radius
.progress-circle{
position: relative;
width: 150px;
height: 150px;
border-radius: 50%;
outline: 1px solid var(--yellow);
outline-offset: -1px;
}
.progress-circle::after,
.number{
position:absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%)
}
.progress-circle::after{
content:'';
width: 110px;
height: 110px;
border-radius: inherit;
outline: inherit;
}
.circle{
stroke-dasharray: 410;
stroke-dashoffset: 410;
transform: rotate(-90deg);
animation: bar-fill 8s linear forwards;
animation-iteration-count: infinite;
}
@keyframes bar-fill {
100% {
stroke-dashoffset: 0;
}
}<div class="progress-circle">
<span class="number" data-value="100"></span>
<svg height="150" width="150" class="circle">
<circle cx="75" cy="75" r="65" stroke="var(--yellow)" stroke-width="20" fill="none" />
</svg>
</div><div class="progress-circle">
<span class="number" data-value="100"></span>
<svg height="150" width="150" class="circle">
<circle cx="75" cy="75" r="65" stroke="var(--yellow)" stroke-width="20" fill="none" />
</svg>
</div>
You will notice that in the below Codepen there is some JavaScript, this is just for updating the text to say true or false.
Learn how to use SvelteKit and Firebase to build high-performance, scalable web applications.
In this course, you will learn everything you need to know to build user interfaces with SolidJS.