Круглые индикаторы выполнения – это визуально привлекательный способ представления прогресса или завершения в графической форме. В этой статье мы рассмотрим несколько методов создания круговых индикаторов выполнения на примерах кода. Независимо от того, являетесь ли вы веб-разработчиком, графическим дизайнером или просто интересуетесь изучением различных методов, это подробное руководство предоставит вам знания по внедрению круговых индикаторов выполнения в ваши проекты.
Метод 1: HTML и CSS (с использованием SVG).
Один из самых простых способов создать круговой индикатор выполнения — использовать HTML, CSS и SVG (масштабируемую векторную графику). SVG позволяет нам рисовать фигуры и применять к ним анимацию. Вот пример фрагмента кода:
<div class="progress-bar">
<svg>
<circle class="progress" cx="50%" cy="50%" r="40%"></circle>
</svg>
</div>
<style>
.progress-bar {
width: 200px;
height: 200px;
background-color: #f3f3f3;
border-radius: 50%;
overflow: hidden;
}
.progress {
fill: none;
stroke: #007bff;
stroke-width: 12;
stroke-dasharray: 251.2; /* circumference of the circle */
stroke-dashoffset: 125.6; /* half of the circumference */
animation: progress-animation 2s linear forwards;
}
@keyframes progress-animation {
to {
stroke-dashoffset: 0;
}
}
</style>
Метод 2: JavaScript и HTML Canvas.
Другой подход заключается в использовании JavaScript и HTML Canvas для создания динамических круговых индикаторов выполнения. Canvas API предоставляет мощный способ рисования и анимации графики. Вот пример фрагмента кода:
<canvas id="progress-bar" width="200" height="200"></canvas>
<script>
const canvas = document.getElementById('progress-bar');
const ctx = canvas.getContext('2d');
const x = canvas.width / 2;
const y = canvas.height / 2;
const radius = 80;
const startAngle = 0;
const endAngle = Math.PI * 2;
const anticlockwise = false;
const progress = 0.75; // Adjust the progress value from 0 to 1
ctx.beginPath();
ctx.arc(x, y, radius, startAngle, endAngle, anticlockwise);
ctx.lineWidth = 12;
ctx.strokeStyle = '#007bff';
ctx.stroke();
ctx.beginPath();
ctx.arc(x, y, radius, startAngle, endAngle * progress, anticlockwise);
ctx.lineWidth = 12;
ctx.strokeStyle = '#007bff';
ctx.stroke();
</script>
Метод 3: библиотеки и платформы CSS
Если вы предпочитаете использовать готовые решения, существует несколько библиотек и платформ CSS, которые предоставляют готовые к использованию компоненты кругового индикатора выполнения. Некоторые популярные варианты включают Bootstrap, Semantic UI и Materialize CSS. Эти библиотеки часто имеют настраиваемые параметры, соответствующие требованиям вашего проекта.
В этой статье мы рассмотрели различные методы создания круговых индикаторов выполнения. Мы рассмотрели HTML и CSS с SVG, JavaScript с HTML Canvas и упомянули о доступности готовых решений через библиотеки и фреймворки CSS. В зависимости от потребностей вашего проекта и вашего знакомства с различными технологиями вы можете выбрать метод, который подходит вам лучше всего. Круглые индикаторы выполнения – это универсальный и визуально привлекательный способ представления прогресса. С помощью предоставленных примеров кода вы можете легко реализовать их в своих проектах.