tailwindcssでJSなしのモーダル(LightBox)

公開日時:2024-02-06T04:20:55.810Z

Astro & tailwindcss で開発しているとなるべくJSなしで実装したくなります。

画像モーダル表示もその一つ。

実際のコード

<a href="#gid-5" class="md:w-1/4 h-auto">
   <img src="../../_astro/06.ekHlzKCQ_2aUmi3.webp" class="" alt="ga01" width="252" height="189" loading="lazy" decoding="async"> 
</a>
<div class="hidden target:block fixed z-90 inset-0 p-4 sm:p-6 bg-black/80" id="gid-5"> <div class="flex w-full h-full flex-wrap flex-col justify-center">
   <div>
      <img src="../../_astro/06.ekHlzKCQ_Z1u9S6g.webp" class="pt-5 w-full h-auto" alt="backGroundImage 06" width="1920" height="1440" loading="lazy" decoding="async">
   </div>
   <a href="#!" class="block text-white h-5 ">X</a>
   </div>
</div>

実際のコードはこんな感じです。

一行目のaで非表示のdivのIDを#で指定します。

クリックされると、tailwindのtarget:属性により、block属性が発火されます。

最後のaのhref="#!"はスクロール位置をクリック前そのままにしてくれます。

tailwindcss

Menu

twitter X