VibeCoderzVibeCoderz
Telegram
All Prompts
3D Hover Cards Grid with Blueprint Background preview
featuresectiontailwindanimatedinteractivegrid3dhover

3D Hover Cards Grid with Blueprint Background

Сетка 3D карточек с эффектом 3D-наведения и анимацией. Идеально для демонстрации функций, сервисов или концепций в футуристичном дизайне. Tailwind, CSS.

Prompt

<div class="relative w-full min-h-screen bg-[#050505] text-[#F3F4F6] antialiased overflow-hidden"
  style="font-family:'Space Grotesk', sans-serif;">
  <script src="https://cdn.tailwindcss.com"></script>
  <style>
    @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&family=JetBrains+Mono:wght@400;500&family=Rajdhani:wght@700&display=swap');

    .lift-card {
      position: relative;
      transform-style: preserve-3d;
      transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    }

    .lift-card::before {
      content: '';
      position: absolute;
      bottom: -10px;
      left: 5%;
      right: 5%;
      height: 10px;
      background: rgba(6, 182, 212, 0);
      filter: blur(8px);
      transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
      transform: translateZ(-1px);
    }

    .lift-card::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: rgba(255, 255, 255, 0.1);
      transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
      transform-origin: bottom;
    }

    .lift-card:hover {
      transform: perspective(1000px) rotateX(2deg) translateY(-4px);
    }

    .lift-card:hover::before {
      background: rgba(6, 182, 212, 0.4);
      bottom: -15px;
      height: 15px;
      filter: blur(12px);
    }

    .lift-card:hover::after {
      height: 6px;
      background: rgba(6, 182, 212, 0.8);
      transform: rotateX(-80deg);
    }

    .sweep-container {
      position: absolute;
      inset: 0;
      overflow: hidden;
      pointer-events: none;
    }

    .sweep {
      position: absolute;
      top: 0;
      bottom: 0;
      left: -100%;
      width: 50%;
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
      transform: skewX(-20deg);
    }

    .lift-card:hover .sweep {
      animation: sweep-anim 1s cubic-bezier(0.19, 1, 0.22, 1) forwards;
    }

    @keyframes sweep-anim {
      0% {
        left: -100%;
      }

      100% {
        left: 200%;
      }
    }

    .corner-tick {
      position: absolute;
      width: 8px;
      height: 8px;
      opacity: 0;
      transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
      pointer-events: none;
    }

    .corner-tl {
      top: 0;
      left: 0;
      border-top: 1px solid #06b6d4;
      border-left: 1px solid #06b6d4;
      transform: translate(-4px, -4px);
    }

    .corner-tr {
      top: 0;
      right: 0;
      border-top: 1px solid #06b6d4;
      border-right: 1px solid #06b6d4;
      transform: translate(4px, -4px);
    }

    .corner-bl {
      bottom: 0;
      left: 0;
      border-bottom: 1px solid #06b6d4;
      border-left: 1px solid #06b6d4;
      transform: translate(-4px, 4px);
    }

    .corner-br {
      bottom: 0;
      right: 0;
      border-bottom: 1px solid #06b6d4;
      border-right: 1px solid #06b6d4;
      transform: translate(4px, 4px);
    }

    .lift-card:hover .corner-tick {
      opacity: 1;
    }

    .lift-card:hover .corner-tl {
      transform: translate(8px, 8px);
    }

    .lift-card:hover .corner-tr {
      transform: translate(-8px, 8px);
    }

    .lift-card:hover .corner-bl {
      transform: translate(8px, -8px);
    }

    .lift-card:hover .corner-br {
      transform: translate(-8px, -8px);
    }
  </style>

  <!-- Blueprint Background Layer -->
  <div class="absolute inset-0 z-0 pointer-events-none">
    <div class="absolute inset-0 opacity-30"
      style="background-image: linear-gradient(to right, rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 3rem 3rem;">
    </div>
    <div class="absolute inset-0" style="background: radial-gradient(circle at center, transparent 10%, #050505 100%);">
    </div>
  </div>

  <!-- Content Section -->
  <section class="relative z-10 py-24 md:py-32 flex items-center justify-center min-h-screen">
    <div class="max-w-7xl w-full mx-auto px-6">
      <div class="grid grid-cols-1 md:grid-cols-3 gap-px border border-white/10 bg-white/5">

        <!-- CARD 01 -->
        <div
          class="bg-[#050505] aspect-square p-8 md:p-12 flex flex-col justify-between hover:bg-white/[0.02] transition-colors lift-card group cursor-pointer">
          <div class="text-[#06b6d4] text-xs tracking-widest font-mono" style="font-family:'JetBrains Mono',monospace;">
            [01]</div>
          <div>
            <h3 class="text-4xl uppercase tracking-tight mb-3 text-white" style="font-family:'Rajdhani',sans-serif;">
              Assembly</h3>
            <p class="text-xs text-white/50 uppercase tracking-widest font-mono"
              style="font-family:'JetBrains Mono',monospace;">Architectural Stagger</p>
          </div>
          <div class="sweep-container">
            <div class="sweep"></div>
          </div>
          <div class="corner-tick corner-tl"></div>
          <div class="corner-tick corner-tr"></div>
          <div class="corner-tick corner-bl"></div>
          <div class="corner-tick corner-br"></div>
        </div>

        <!-- CARD 02 -->
        <div
          class="bg-[#050505] aspect-square p-8 md:p-12 flex flex-col justify-between hover:bg-white/[0.02] transition-colors lift-card group cursor-pointer">
          <div class="text-[#06b6d4] text-xs tracking-widest font-mono" style="font-family:'JetBrains Mono',monospace;">
            [02]</div>
          <div>
            <h3 class="text-4xl uppercase tracking-tight mb-3 text-white" style="font-family:'Rajdhani',sans-serif;">
              Impact</h3>
            <p class="text-xs text-white/50 uppercase tracking-widest font-mono"
              style="font-family:'JetBrains Mono',monospace;">Kinetic Flash Framing</p>
          </div>
          <div class="sweep-container">
            <div class="sweep"></div>
          </div>
          <div class="corner-tick corner-tl"></div>
          <div class="corner-tick corner-tr"></div>
          <div class="corner-tick corner-bl"></div>
          <div class="corner-tick corner-br"></div>
        </div>

        <!-- CARD 03 -->
        <div
          class="bg-[#050505] aspect-square p-8 md:p-12 flex flex-col justify-between hover:bg-white/[0.02] transition-colors lift-card group cursor-pointer">
          <div class="text-[#06b6d4] text-xs tracking-widest font-mono" style="font-family:'JetBrains Mono',monospace;">
            [03]</div>
          <div>
            <h3 class="text-4xl uppercase tracking-tight mb-3 text-white" style="font-family:'Rajdhani',sans-serif;">
              Slice</h3>
            <p class="text-xs text-white/50 uppercase tracking-widest font-mono"
              style="font-family:'JetBrains Mono',monospace;">Path Geometry Wipes</p>
          </div>
          <div class="sweep-container">
            <div class="sweep"></div>
          </div>
          <div class="corner-tick corner-tl"></div>
          <div class="corner-tick corner-tr"></div>
          <div class="corner-tick corner-bl"></div>
          <div class="corner-tick corner-br"></div>
        </div>

      </div>
    </div>
  </section>
</div>
All Prompts