Заливка цветом
jobyaviation.com Секции-шторки →

Sticky-сцены

Заливка цветом

Фото приклеено, а цветная волна поднимается поверх него по мере прокрутки — фото «заливается цветом».

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

цвет накрывает фото волной

Код
<!-- фото приклеено, цвет накрывает его волной (jobyaviation.com) -->
<section class="fill-scene">  <!-- высота 230vh -->
  <div class="stick">
    <img class="photo" src="photo.jpg">
    <div class="wave"><h2>Текст на цвете</h2></div>
  </div>
</section>

<style>
.fill-scene { position: relative; height: 230vh; --p: 0; }
.stick { position: sticky; top: 0; height: 100vh; overflow: hidden; }
.photo { width: 100%; height: 100%; object-fit: cover; }
.wave { position: absolute; inset: 0; background: #E84B16;
  display: flex; align-items: center; justify-content: center;
  clip-path: inset(calc((1 - clamp(0, calc(var(--p) / .85), 1)) * 100%) 0 0 0); }
.wave h2 { color: #fff;
  opacity: clamp(0, calc((var(--p) - .55) / .25), 1); }
</style>

<!-- JS тот же, что в «Раскрытии-окне»: пишет --p с доводкой -->
Промпт для ИИ
Сделай заливку фото цветом при скролле как на jobyaviation.com: секция 230vh, внутри sticky-экран с фотографией на весь размер. Поверх — слой фирменного цвета, спрятанный снизу через clip-path: inset(100% 0 0 0). JS пишет прогресс секции в CSS-переменную --p (0..1, лерп 0.1); слой раскрывается clip-path: inset(calc((1 - p/0.85)*100%) 0 0 0) — цвет волной поднимается и накрывает фото. Заголовок на цвете проявляется с p 0.55. Убедись, что у предков sticky-элемента нет overflow:hidden. При prefers-reduced-motion заливку не показывай.