生成AI活用

AIで画像クリックで拡大表示するライトボックスを作る【CSS+JS生成】

更新日:2026-05-10 著者:unigram 読了目安:3分

この記事の要点

AIで画像クリック拡大ライトボックスを生成する方法。フェードアニメーション・ESCで閉じる・背景クリック対応のCSS+JSをプロンプト例・コード付きで解説します。

画像をクリックすると画面全体に拡大表示される「ライトボックス」。プラグインに頼らなくても、AIを使えばシンプルな実装が作れます。

方法①:既存のHTMLからCSS・JSを生成する

AIへのプロンプト例

以下の画像ギャラリーHTMLに、
・画像をクリックすると画面全体に拡大表示されるライトボックス
・背景(暗いオーバーレイ)をクリックすると閉じる
・ESCキーでも閉じる
・フェードアニメーションで表示
のCSS・JavaScriptを追加してください。

<div class="gallery">
  <img src="photo1.jpg" alt="写真1" class="gallery-img">
  <img src="photo2.jpg" alt="写真2" class="gallery-img">
  <img src="photo3.jpg" alt="写真3" class="gallery-img">
</div>

生成されたCSS例

.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
}
.gallery-img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  cursor: zoom-in;
  border-radius: 6px;
  transition: opacity 0.2s;
}
.gallery-img:hover { opacity: 0.85; }

#lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  z-index: 2000;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
#lightbox.open {
  display: flex;
  animation: fadeIn 0.25s ease;
}
#lightbox img {
  max-width: 90vw;
  max-height: 90vh;
  object-fit: contain;
  border-radius: 4px;
}
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

生成されたJS例

// ライトボックス要素を動的に作成
const lb = document.createElement('div');
lb.id = 'lightbox';
lb.innerHTML = '<img id="lb-img" alt="">';
document.body.appendChild(lb);

const lbImg = document.getElementById('lb-img');

document.querySelectorAll('.gallery-img').forEach(img => {
  img.addEventListener('click', () => {
    lbImg.src = img.src;
    lbImg.alt = img.alt;
    lb.classList.add('open');
  });
});

lb.addEventListener('click', e => {
  if (e.target !== lbImg) lb.classList.remove('open');
});
document.addEventListener('keydown', e => {
  if (e.key === 'Escape') lb.classList.remove('open');
});

📝 用語メモ

aspect-ratio: 4/3:要素の縦横比を固定するCSSプロパティ。幅に合わせて高さが自動調整されるので、様々な画像サイズでも統一感が出ます。
object-fit: cover:画像を比率を保ちながら枠に収め、はみ出た部分を切り取ります。

方法②:HTMLとセットで生成する

AIへのプロンプト例

画像クリックで拡大表示されるライトボックス付きギャラリーを
HTML・CSS・JavaScriptでゼロから作ってください。
・グリッドレイアウトのサムネイル一覧
・クリックで拡大、左右矢印で前後切り替え
・キャプション表示付き

ポイント

  • 前後の画像を矢印で切り替えたい場合は「前後ナビゲーションも追加して」と依頼できます
  • スワイプでの切り替えが必要な場合は「タッチスワイプにも対応して」と追記しましょう

この記事を書いた人

unigram
web、印刷、映像などの制作をしています。@京都、フリーランス18年目。 大学で講師もしています。 自身の備忘録も兼ねて、Web制作・WordPress・SEO・GA4・生成AI活用をテーマに情報発信しています。わかりやすく優しい内容で記事作成を心がけています。