Ротатор слов
лендинги SaaS Контур с заливкой →

Появление текста

Ротатор слов

Акцентное слово в заголовке меняется каруселью: старое вверх, новое снизу.

Просто смотрите пару секунд.

Мы делаем сайты быстрые

Код
Мы делаем сайты
<span class="rot" data-rotate="быстрые|живые|дорогие">
  <b class="cur">быстрые</b>
</span>

<style>
.rot { display: inline-block; position: relative; overflow: hidden;
  min-width: 5.2em; color: #E84B16; }
.rot b.out { position: absolute; left: 0; top: 0;
  animation: rOut .5s cubic-bezier(.16,1,.3,1) forwards; }
.rot b.in { display: inline-block;
  animation: rIn .5s cubic-bezier(.16,1,.3,1); }
@keyframes rOut { to { transform: translateY(-110%); opacity: 0; } }
@keyframes rIn { from { transform: translateY(110%); opacity: 0; } }
</style>

<script>
var el = document.querySelector(".rot");
var list = el.getAttribute("data-rotate").split("|");
var idx = 0;
setInterval(function () {
  idx = (idx + 1) % list.length;
  var old = el.querySelector(".cur");
  old.className = "out";
  var nb = document.createElement("b");
  nb.className = "cur in";
  nb.textContent = list[idx];
  el.appendChild(nb);
  setTimeout(function () { old.remove(); }, 550);
}, 2200);
</script>
Промпт для ИИ
Сделай ротатор слов в заголовке: акцентное слово меняется каждые 2.2с — старое уезжает вверх (translateY(-110%) + opacity 0, absolute), новое въезжает снизу, обёртка inline-block с overflow:hidden и min-width под самое длинное слово (чтобы строка не дёргалась). Список слов в data-rotate через |. Кривая cubic-bezier(0.16,1,0.3,1), длительность 0.5s. При prefers-reduced-motion не крутить.