Lettore audio scheumorfico
Un componente del lettore audio progettato con uno stile Skeuomorphic, una combinazione di colori pastello e un'interfaccia complessa. Supporta la modalità oscura ed è reattivo, adatto per i siti di e-commerce.
Codice HTML
<div class="flex items-center justify-center min-h-screen bg-gray-50 dark:bg-gray-900 p-4">
<div class="w-full max-w-md bg-gradient-to-br from-gray-200 to-gray-300 dark:from-gray-700 dark:to-gray-800 rounded-2xl shadow-xl p-6 relative overflow-hidden transform transition-all duration-300 hover:scale-[1.02] active:scale-[0.98] focus:scale-[1.01] outline-none"
tabindex="0" aria-label="Audio Player with complex controls">
<!-- Top Controls and Display -->
<div class="flex items-center justify-between mb-6">
<div class="text-gray-600 dark:text-gray-300">
<i class="fas fa-bars text-xl"></i>
</div>
<div class="text-center flex-grow">
<h3 class="text-sm font-semibold text-gray-700 dark:text-gray-200 uppercase tracking-wide">Now Playing</h3>
<p class="text-xs text-gray-500 dark:text-gray-400">Pastel Vibes</p>
</div>
<div class="text-gray-600 dark:text-gray-300">
<i class="fas fa-heart text-xl"></i>
</div>
</div>
<!-- Album Art / Display Area -->
<div class="relative w-48 h-48 mx-auto mb-8 rounded-full shadow-inner-lg transform transition-transform duration-300 group hover:rotate-3 active:rotate-[-3deg] focus:rotate-2">
<img src="https://picsum.photos/300/300?random=1" alt="Album Art" class="w-full h-full rounded-full object-cover shadow-md border-4 border-gray-400 dark:border-gray-600 transform transition-transform duration-300 group-hover:scale-105" />
<div class="absolute inset-0 rounded-full border-2 border-dashed border-gray-400 dark:border-gray-500 animate-spin-slow"></div>
</div>
<!-- Song Info -->
<div class="text-center mb-6">
<h2 class="text-2xl font-bold text-gray-800 dark:text-gray-100 mb-1">Dreamy Horizon</h2>
<p class="text-md text-gray-600 dark:text-gray-300">Acoustic Serenity</p>
</div>
<!-- Progress Bar (Skeuomorphic) -->
<div class="mb-8">
<div class="h-3 bg-gray-300 dark:bg-gray-700 rounded-full shadow-inner-sm relative">
<div class="absolute inset-y-0 left-0 bg-gradient-to-r from-pink-300 to-purple-400 dark:from-pink-500 dark:to-purple-600 rounded-full w-2/3 shadow-md"></div>
<div class="absolute -right-2 top-1/2 -translate-y-1/2 w-5 h-5 bg-white border-2 border-gray-400 dark:border-gray-600 rounded-full shadow-lg cursor-pointer transform hover:scale-110 transition-transform duration-200" role="slider" aria-valuenow="66" aria-valuemin="0" aria-valuemax="100" aria-label="Playback progress"></div>
</div>
<div class="flex justify-between text-xs text-gray-500 dark:text-gray-400 mt-2">
<span>2:30</span>
<span>4:15</span>
</div>
</div>
<!-- Main Controls -->
<div class="flex items-center justify-around mb-8">
<button class="w-12 h-12 flex items-center justify-center rounded-full bg-gray-100 dark:bg-gray-800 shadow-md hover:shadow-lg transition-all duration-200 transform hover:scale-110 active:scale-95 focus:outline-none focus:ring-2 focus:ring-gray-400 focus:ring-opacity-75" aria-label="Previous track">
<i class="fas fa-backward text-xl text-gray-600 dark:text-gray-300"></i>
</button>
<button class="w-16 h-16 flex items-center justify-center rounded-full bg-gradient-to-br from-pink-300 to-purple-400 dark:from-pink-500 dark:to-purple-600 shadow-xl hover:shadow-2xl transition-all duration-200 transform hover:scale-110 active:scale-95 focus:outline-none focus:ring-2 focus:ring-purple-400 focus:ring-opacity-75" aria-label="Play/Pause">
<i class="fas fa-play text-2xl text-white"></i>
</button>
<button class="w-12 h-12 flex items-center justify-center rounded-full bg-gray-100 dark:bg-gray-800 shadow-md hover:shadow-lg transition-all duration-200 transform hover:scale-110 active:scale-95 focus:outline-none focus:ring-2 focus:ring-gray-400 focus:ring-opacity-75" aria-label="Next track">
<i class="fas fa-forward text-xl text-gray-600 dark:text-gray-300"></i>
</button>
</div>
<!-- Additional Controls -->
<div class="flex items-center justify-around text-gray-500 dark:text-gray-400 text-lg">
<button class="hover:text-gray-700 dark:hover:text-gray-200 transition-colors duration-200 transform hover:scale-110 active:scale-95 focus:outline-none focus:ring-2 focus:ring-gray-400 focus:ring-opacity-75" aria-label="Repeat">
<i class="fas fa-redo-alt"></i>
</button>
<button class="hover:text-gray-700 dark:hover:text-gray-200 transition-colors duration-200 transform hover:scale-110 active:scale-95 focus:outline-none focus:ring-2 focus:ring-gray-400 focus:ring-opacity-75" aria-label="Shuffle">
<i class="fas fa-random"></i>
</button>
<button class="hover:text-gray-700 dark:hover:text-gray-200 transition-colors duration-200 transform hover:scale-110 active:scale-95 focus:outline-none focus:ring-2 focus:ring-gray-400 focus:ring-opacity-75" aria-label="Volume">
<i class="fas fa-volume-up"></i>
</button>
<button class="hover:text-gray-700 dark:hover:text-gray-200 transition-colors duration-200 transform hover:scale-110 active:scale-95 focus:outline-none focus:ring-2 focus:ring-gray-400 focus:ring-opacity-75" aria-label="Playlist">
<i class="fas fa-list"></i>
</button>
</div>
</div>
</div>
<!-- To ensure icons are displayed, include Font Awesome via CDN in your project's HTML head -->
<!-- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" /> -->
Componenti correlati
Componente lettore audio
Un componente del lettore audio reattivo progettato in modalità oscura utilizzando Tailwind CSS. Supporta il tema scuro e fornisce un'interfaccia pulita per la riproduzione audio.
Lettore audio monocromatico 3D
Componente lettore audio monocromatico 3D reattivo per Portfolio, con supporto per la modalità scura
Lettore audio brutalista
Un componente per lettore audio brutalista con design reattivo, supporto per la modalità oscura e assenza di JavaScript.