Сетка плиток
игровые сайты Кино-хиро →

Интро (загрузка сайта)

Сетка плиток

Экран из тёмных плиток рассыпается со случайными задержками, открывая сцену.

«Повторить» — в углу.

Плитки разлетаются
и открывают сцену
Код
<div class="grid-intro">
  <i></i><i></i>… <!-- 6×4 = 24 плитки -->
</div>

<style>
.grid-intro { position: fixed; inset: 0; z-index: 99;
  display: grid; grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(4, 1fr); pointer-events: none; }
.grid-intro i { background: #101318;
  animation: out .55s cubic-bezier(.7,0,.3,1) forwards;
  animation-delay: calc(.3s + var(--d) * 1ms); }
@keyframes out { to { transform: scale(0); opacity: 0; } }
</style>

<script>
// случайная задержка каждой плитке — «рассыпание»
document.querySelectorAll(".grid-intro i").forEach(function (t) {
  t.style.setProperty("--d", Math.floor(Math.random() * 500));
});
</script>
Промпт для ИИ
Сделай интро «сетка плиток»: фиксированный оверлей — CSS-грид 6×4 из тёмных плиток; каждой JS назначает случайную задержку --d (0-500мс); плитки схлопываются scale(0) + opacity 0 за 0.55s по cubic-bezier(0.7,0,0.3,1) начиная с 0.3s — экран «рассыпается» и открывает hero. Заголовок под ним стартует из маски на ~1s. Показывать раз за сессию (sessionStorage), pointer-events:none на оверлее.