Роллинг-ссылка
студийные меню Строки с поворотом →

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

Роллинг-ссылка

Буквы перекатываются волной вверх, открывая цветной дубль-этаж. Классика меню.

Наведите на строки.

Код
<a class="roll" href="#" data-text="ССЫЛКА"></a>

<style>
.roll { display: inline-flex; overflow: hidden;
  font-size: 64px; line-height: 1.1; text-decoration: none; }
.roll i { position: relative; display: inline-block;
  font-style: normal; height: 1.1em; }
.roll i b { display: block; height: 1.1em;
  transition: transform .45s cubic-bezier(.16,1,.3,1);
  transition-delay: calc(var(--i) * 24ms); }   /* каскад */
.roll i b:last-child { position: absolute; top: 1.1em; left: 0;
  color: #E84B16; }                            /* нижний этаж — акцент */
.roll:hover i b { transform: translateY(-1.1em); }
</style>

<script>
document.querySelectorAll(".roll").forEach(function (el) {
  Array.prototype.forEach.call(el.getAttribute("data-text"), function (ch, idx) {
    var i = document.createElement("i");
    i.style.setProperty("--i", idx);
    i.innerHTML = "<b>" + ch + "</b><b>" + ch + "</b>";
    if (ch === " ") i.style.width = ".3em";
    el.appendChild(i);
  });
});
</script>
Промпт для ИИ
Сделай роллинг-ссылку (двухэтажные буквы): JS строит для каждой буквы контейнер overflow:hidden высотой 1.1em с двумя копиями буквы одна под другой (вторая absolute на top:1.1em, акцентного цвета). По ховеру обе едут translateY(-1.1em) за 0.45s по cubic-bezier(0.16,1,0.3,1) с каскадом transition-delay i*24ms — буквы перекатываются волной, открывая цветной дубль. Классика студийных меню.