Перейти к содержимому
Tooolkit

Рисующаяся линия — толстая линия за контентом дорисовывается при прокрутке

Толстая оранжевая линия петляет за фотографиями и текстом и рисуется по мере прокрутки, а при прокрутке назад стирается. Кривая подстраивается под размер блока, поэтому толщина линии одинаковая на любом экране. Чистый JavaScript без GSAP.

Вставьте код в чат ИИ-агента и напишите: «Сделай мне такой эффект на сайте». Инструкция для агента уже внутри.

[ Листайте вниз ]

Тонкое деревце на шаре перед светлым диском

Спокойнее, когда всего много

Сообщения и уведомления собираются в группы и ждут в одной аккуратной панели, а не сыплются по одному.

Рука на столе в полосе солнечного света
Камни в равновесии в синем свете

Порядок без лишних усилий

Файлы, заметки и письма сами раскладываются по важности, так что даже в самый загруженный день ничего не теряется.

Комната с диваном в утреннем свете

Настройки

Настройки для кода


Что это за эффект

За фотографиями и текстом секции петляет толстая линия. Пока человек листает страницу, линия рисуется вниз вслед за ним: её кончик держится в одной точке экрана. При прокрутке назад линия стирается. Сама кривая подстраивается под размер блока, поэтому линия одинаковой толщины и на широком экране, и на телефоне.

Эффект повторяет пример Codegrid «Scroll-Powered SVG Stroke», только без GSAP и ScrollTrigger.

Где использовать

  • Лендинг продукта: линия ведёт взгляд от одного блока преимуществ к другому.
  • Рассказ по шагам: путь, история компании, этапы работы.
  • Портфолио: живой акцент в длинной ленте проектов.

Как добавить на сайт

Через ИИ-агента — самый простой путь. Эти эффекты сделаны в первую очередь для тех, кто собирает сайт вместе с ИИ-агентом: Claude Code, Cursor или любым другим. Настройте эффект на примере выше, нажмите «Скопировать код» и вставьте его в чат агента с одной фразой: «Сделай мне такой эффект на сайте». В скопированном коде уже есть описание эффекта и инструкция для агента. Он сам перенесёт стили, разметку и скрипт и подставит ваш контент. Ваши настройки сохранятся.

Вручную. «Скачать код» даёт готовую HTML-страницу с вашими настройками. «Скопировать код» копирует только стили, разметку и скрипт. Скрипт без зависимостей.

<section class="stroke">
  <svg viewBox="0 0 1378 2760" fill="none" aria-hidden="true">
    <path stroke="#ff5f0a" d="M639.7 100C639.7 100 105.7 100 199.7 601.5…"/>
  </svg>
  <!-- ваш контент поверх линии -->
</section>
createScrollStroke(document.querySelector('.stroke'), { width: 14, anchor: 0.6 });

Форму линии можно нарисовать в Figma или любом векторном редакторе. Скрипту нужен путь с абсолютными координатами (команды M, L, C, S, Q, T), а viewBox задаёт, в каком прямоугольнике он нарисован.

Настройки

  • Толщина линии — доля ширины блока.
  • Кончик линии — в какой точке экрана держится кончик, пока линия рисуется.
  • Отступ по бокам — насколько изгибы отходят от краёв блока.
  • Начало линии — где по высоте блока начинается линия.
  • Плавность — насколько мягко линия догоняет прокрутку.

Доступность и производительность

Линия декоративная и скрыта от скринридеров. Если в системе включено «Уменьшить движение», линия сразу нарисована целиком. При прокрутке меняется только stroke-dashoffset одного пути, а когда прокрутка стоит, скрипт не работает.

Частые вопросы

Как поменять цвет? Цвет задаёт атрибут stroke у пути или CSS.

Можно ли поставить линию поверх контента? Да, поставьте SVG после контента или дайте ему z-index. Обычно линия лучше смотрится за контентом.

Все анимации