TGViewer
Будни разработчика Будни разработчика @htmlshit · 14.4K subscribers
Post #3721 2.82K
#статья дня

Как решить главную проблему бесконечной бегущей строки?

При создании бегущей строки (marquee, да) в CSS всегда встаёт вопрос: в какой момент элементу нужно «перепрыгнуть» в начало, чтобы анимация выглядела непрерывной? Если рассчитать неправильно — появляются рывки или пустые промежутки.

Как правило, это решается или через JavaScript, или дублированием элементов до какого-то неразумного предела. Или и так и так.

В статье на Frontend Masters уже так хорошо знакомым нам Темани Афифом (он автор CSS Shape) предложен современный способ, где эта проблема решается автоматически.

Используются новые функции sibling-index() и sibling-count(). Они позволяют CSS «понимать», какой по счёту элемент в наборе и сколько всего элементов.

На основе этих данных каждому элементу назначается своя задержка старта анимации. Это делается через формулу: задержка = индекс * (общая_длительность / количество_элементов).

Путь движения задаётся через offset: shape(...), а сама анимация повторяется бесконечно (infinite linear).

В результате элементы выстраиваются один за другим и «зацикливаются» без единого рывка — всё считается динамически, без ручных правок.

И самое приятное: HTML остаётся простым <div> с изображениями, а вся магия — в десятке строк CSS!

Почитайте, очень круто вышло.

#css #marquee
  • 👍 19
  • ❤ 5
More from @htmlshit
  1. Oct 5, 2026Стилизация тултипов Два года назад я писал о проблеме с title и о принятом рабочей группой…
  2. Oct 5, 2026О господи, да неужели я при жизни увижу стилизацию title?!!
  3. Oct 4, 2026#инструмент дня Промо-видео на Rust. Что? Да! Давно знал об FFrames — фреймворке, в которо…
  4. Oct 2, 2026#ссылка дня В комментариях к посту про моргающее меню а-ля macOS HIG всплыл вопрос: а есть…
  5. Oct 1, 2026⚡️ JavaScript, архитектура и ИИ: о чем будут говорить на юбилейной HolyJS 2026 Autumn 📆 2…
  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 →