Рисующаяся линия
SVG-классика Живой блоб →

Фоны и графика

Рисующаяся линия

SVG-росчерк рисуется прокруткой через stroke-dashoffset — в обе стороны.

Скрольте сквозь сцену.

линия рисуется прокруткой — вперёд и назад

Код
<svg viewBox="0 0 900 300" fill="none">
  <path class="line" d="M20 220 C 140 80 ..." stroke="#E84B16" stroke-width="4"/>
</svg>

<script>
var path = document.querySelector(".line");
var len = path.getTotalLength();
path.style.strokeDasharray = len;      // штрих длиной с весь путь
path.style.strokeDashoffset = len;     // полностью «стёрт»

// вариант А: рисовать по прогрессу sticky-сцены (0..1)
function loop() {
  var p = /* прогресс скролла 0..1 */ 0;
  path.style.strokeDashoffset = (1 - p) * len;
  requestAnimationFrame(loop);
}

// вариант Б: одноразово по появлению
// path.style.transition = "stroke-dashoffset 1.6s cubic-bezier(.16,1,.3,1)";
// new IntersectionObserver(...).observe(path)  ->  strokeDashoffset = 0
</script>
Промпт для ИИ
Сделай рисующуюся SVG-линию: у path взять getTotalLength(), выставить stroke-dasharray = длина и stroke-dashoffset = длина (линия стёрта). Рисование: либо от прогресса sticky-сцены offset = (1-p)*len (линия рисуется скроллом в обе стороны), либо одноразово по IntersectionObserver с transition 1.6s cubic-bezier(0.16,1,0.3,1) к offset 0. Для глубины положи под неё ту же линию серым.