TGViewer
Frontend Interview - собеседования по Javascript / Html / Css Frontend Interview - собеседования по Javascript / Html / Css @frontendinterview · 10.4K subscribers
Post #5080 712
🎚 «Больше или равно» в CSS без единого if

Новая CSS-функция progress(значение, от, до) показывает, где значение лежит в диапазоне: дробь от 0 до 1. Всё, что за границами, по умолчанию обрезается до 0 или 1.

Отсюда трюк. В диапазоне от 0 до порога ровно 1 выйдет, только когда значение достигло порога. Это готовый флаг.

Например, бейджи за фильмы: пороги 3, 6 и 9 в --badgeLevel, число фильмов в --movieCount:

.badge {
--isLevelUnlocked: progress(var(--movieCount), 0, var(--badgeLevel));
}


При 2 фильмах из 6 получится 0.33, при 6 или 10 будет 1. Container style query (проверка значения переменной у родителя) показывает бейдж при style(--isLevelUnlocked: 1). Перебирать уровни в JS не нужно.

Учтите, что флаг регистрируют через @property с типом <number>, чтобы style query могла проверить его значение.

Приём годится для любого сравнения с порогом, не только для бейджей.

👉 @seniorFront
  • 👎 2
  • ❤ 1
More from @frontendinterview
  1. Oct 9, 20265 офферов получили наши ребята на прошлой неделе Оффер на 4,2k долларов Оффер на 5k евро О…
  2. Oct 9, 2026🧮 Поле ввода, в которое можно вписать формулу Часто число для формы сначала надо посчитат…
  3. Oct 7, 2026🎨 Текст, который сам подбирает цвет под фон Если фон карточки задаётся фирменным цветом и…
  4. Oct 5, 2026🔍 Убрал повтор в скринридере и сломал кнопку Джейк Арчибальд делал кнопку-иконку «жирный»…
  5. Oct 2, 2026🌈 Свечение внутри элемента, но из любого фона Подсветить элемент изнутри проще всего чере…
  6. Oct 1, 2026Ищем новичков, готовых взять свой первый заказ на разработку сайта. Опыт не нужен. Заказ:…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →