Я пытаюсь использовать чистый CSS, чтобы сделать радиальный индикатор выполнения с градиентом фона. В зависимости от класса мы предоставляем .progress-47
или .progress-90
, цикл Sass for изменяет поведение нашего радиального. Мне нужно создать тот же эффект, но против часовой стрелки. Полный код доступен здесь: CodePen.Радиальная полоса хода против часовой стрелки
<div class="item progress-47">
<div class="radial-inner-bg"><span>47%</span></div>
</div>
<div class="item progress-33">
<div class="radial-inner-bg"><span>3/3</span></div>
</div>
<div class="item progress-95">
<div class="radial-inner-bg"><span>95%</span></div>
</div>
<div class="item progress-85">
<div class="radial-inner-bg"><span>85%</span></div>
</div>
$step: 1; // step of % for created classes
$loops: 100;
$increment: (360/$loops);
$half: round($loops/2);
@for $i from 0 through $loops {
.progress-#{$i*$step} {
@if $i < 50 {
$nextdeg: 90deg + ($increment * $i);
background-image: linear-gradient(90deg, $light-gray 50%, transparent 50%, transparent), linear-gradient($nextdeg, $medium-yellow 50%, $light-gray 50%, $light-gray);
}
@else {
$nextdeg: -90deg + ($increment * ($i - $half));
background-image: linear-gradient($nextdeg, $medium-yellow 50%, transparent 50%, transparent), linear-gradient(270deg, $medium-yellow 50%, $light-gray 50%, $light-gray);
}
}
}