360 ビューア コンポーネント
Glassmorphism デザイン、単色の配色、適度な複雑さを備えた 360 度ビューア コンポーネント。ブログ/コンテンツ用に設計されており、レスポンシブで、Tailwind CSSを使用したダークモードをサポートしています。JavaScript は含まれておらず、Tailwind クラスを含む HTML のみが含まれています。画像には picsum.photos を使用します。
HTMLコード
<div class="dark:bg-gray-900 bg-gray-100 flex items-center justify-center min-h-screen p-4">
<div class="bg-white dark:bg-gray-800 backdrop-filter backdrop-blur-lg bg-opacity-20 dark:bg-opacity-20 rounded-xl shadow-lg p-6 w-full max-w-md border border-gray-200 dark:border-gray-700">
<div class="text-center mb-6">
<h2 class="text-3xl font-bold text-gray-800 dark:text-white mb-2">360° Product Viewer</h2>
<p class="text-gray-600 dark:text-gray-300">Experience the product from every angle.</p>
</div>
<div class="relative mb-6 rounded-lg overflow-hidden border border-gray-300 dark:border-gray-600 aspect-video">
<!-- Placeholder for 360 viewer - In a real scenario, this would be a series of images or a specialized viewer library -->
<img src="https://picsum.photos/600/400?random=1" alt="Product View 1" class="absolute inset-0 w-full h-full object-cover transition-opacity duration-300 opacity-100" id="viewer-image">
<img src="https://picsum.photos/600/400?random=2" alt="Product View 2" class="absolute inset-0 w-full h-full object-cover transition-opacity duration-300 opacity-0">
<img src="https://picsum.photos/600/400?random=3" alt="Product View 3" class="absolute inset-0 w-full h-full object-cover transition-opacity duration-300 opacity-0">
</div>
<div class="flex justify-center space-x-2 mb-6">
<button class="p-3 rounded-full bg-blue-500 hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-400 focus:ring-opacity-75 transition duration-300">
<svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"></path></svg>
</button>
<button class="p-3 rounded-full bg-blue-500 hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-400 focus:ring-opacity-75 transition duration-300">
<svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path></svg>
</button>
</div>
<div class="text-center text-gray-700 dark:text-gray-300 text-sm">
<p>Drag or use arrows to rotate view (interactive features would require JavaScript).</p>
</div>
</div>
</div>