Toggle navigation
☰
HTML
CSS
Scripting
Database
<!doctype html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Tailwind CSS Lightbox Gallery</title> <script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4.2.1"></script> <script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script> </head> <body class="bg-gray-50 min-h-screen pt-24 p-6 antialiased" x-data="{ open: false, activeImg: '' }"> <div class="max-w-7xl mx-auto space-y-12"> <div class="text-center space-y-4"> <span class="text-[10px] font-black text-indigo-600 uppercase tracking-[0.4em]">Inspection Mode</span> <h2 class="text-4xl font-black text-slate-900 tracking-tight">Spectral Lightbox</h2> </div> <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8"> <!-- Gallery Items --> <div class="relative group cursor-zoom-in" @click="open = true; activeImg = 'https://images.unsplash.com/photo-1451187580459-43490279c0fa?w=1200'"> <div class="aspect-video rounded-[3rem] overflow-hidden border border-slate-100 shadow-sm transition-all duration-500 group-hover:shadow-2xl"> <img src="https://images.unsplash.com/photo-1451187580459-43490279c0fa?w=600&h=400&fit=crop" class="h-full w-full object-cover group-hover:scale-110 transition-transform duration-700"> <div class="absolute inset-0 bg-indigo-600/0 group-hover:bg-indigo-600/10 transition-colors"></div> </div> </div> <div class="relative group cursor-zoom-in" @click="open = true; activeImg = 'https://plus.unsplash.com/premium_photo-1681426687411-21986b0626a8?w=1200'"> <div class="aspect-video rounded-[3rem] overflow-hidden border border-slate-100 shadow-sm transition-all duration-500 group-hover:shadow-2xl"> <img src="https://plus.unsplash.com/premium_photo-1681426687411-21986b0626a8?w=600&h=400&fit=crop" class="h-full w-full object-cover group-hover:scale-110 transition-transform duration-700"> <div class="absolute inset-0 bg-indigo-600/0 group-hover:bg-indigo-600/10 transition-colors"></div> </div> </div> <div class="relative group cursor-zoom-in" @click="open = true; activeImg = 'https://images.unsplash.com/photo-1550751827-4bd374c3f58b?w=1200'"> <div class="aspect-video rounded-[3rem] overflow-hidden border border-slate-100 shadow-sm transition-all duration-500 group-hover:shadow-2xl"> <img src="https://images.unsplash.com/photo-1550751827-4bd374c3f58b?w=600&h=400&fit=crop" class="h-full w-full object-cover group-hover:scale-110 transition-transform duration-700"> <div class="absolute inset-0 bg-indigo-600/0 group-hover:bg-indigo-600/10 transition-colors"></div> </div> </div> </div> </div> <!-- Lightbox Modal --> <div x-show="open" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" class="fixed inset-0 z-50 flex items-center justify-center bg-slate-900/95 backdrop-blur-xl p-6 lg:p-20" style="display: none;" @keydown.escape.window="open = false"> <button @click="open = false" class="absolute top-8 right-8 h-12 w-12 bg-white/10 text-white rounded-full flex items-center justify-center hover:bg-white/20 transition-all cursor-pointer"> <svg class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M6 18L18 6M6 6l12 12" /></svg> </button> <div class="max-w-7xl w-full h-full flex flex-col items-center justify-center" @click.away="open = false"> <img :src="activeImg" class="max-w-full max-h-full rounded-[3rem] shadow-4xl object-contain"> <p class="text-white/40 text-[10px] font-black uppercase tracking-[0.5em] mt-8">Esc to Exit Analysis</p> </div> </div> </body> </html>