Комментарии 12
У сожалению, наверняка этот if никто не имплементирует
В принципе, эту же логику на чистом CSS можно сделать и без if, и без range syntax. На обычных стилевых контейнерных запросах. У них поддержка намного лучше.
И единственная проблема — это FF, который всё не может зарелизить стилевые контейнерные запросы даже в самой простой версии. Но при этом более сложные размерные контейнерные запросы в FF есть. Так что верим, что и стилевые сделают.
Можно было бы стилизовать нативные элементы progress и meter. Но там больше дополнительных действий по убиранию оформления по умолчанию
Интересный вариант реализации 👍
А можем ли мы сделать этот прогресс со скруглением?
Раньше, чтобы сделать круговой прогрессбар, мы страдали с SVG
Увы, и сейчас приходится, если хочется сделать универсально. Например, всё то же самое, что у вас, но с round caps (без этих десяточных вайбов с прямыми углами) и градиентной кольцевой заливкой. По крайней мере, когда я просил помощи у SO, чтобы помогли переписать с SVG на pure CSS, так никто ничего толком и не предложил.
Согласен, что как только появляются сложные формы шкалы/заполнителя, то приходится использовать SVG. Особенно если это неправильные формы, не воспроизводимые простой геометрией. Только такие вещи вряд ли можно назвать универсальными. Под любой такой сложный прогрессбар надо рисовать отдельную SVG.
Просто раньше и прогрессбары на простых формах тоже приходилось делать на SVG, а сейчас CSS забрал эту головную боль. А ещё дал разработчику важный аргумент в разговоре с дизайнером: "Хочешь так же сложно как нарисовал? Ок, готовь мне сам векторную заготовку. А если чуть упростим, то я сам всё сделаю."
А вообще, интересно посмотреть глазами на примеры, о которых вы говорите
Симпатично.
Понял, что последнее время прогрессбаров особо и не вижу, ответы приносит ИИ (или не приносит), но бара при это не показывает.
Даже обидно!
Сложный прогрессбар, это habr.com/ru/companies/2gis/articles/275489

Верстаем сложный прогрессбар в 2026 году