Web英単語カード作成ノート

ここでは「動く英単語カード」を最小構成で作り、 ページ間リンク公開までをまとめます。

  • 対象:HTML/CSS初心者(コピペでOK)
  • 最終成果:単語カード(クリックで答え表示)+簡単な追加編集
目次

概要

自分でカスタマイズできる英単語カードは、生成AIを使えばすぐ作れます。 このページでは「カードの仕組み」よりも、サイトとして形にする手順を重視してまとめます。

生成AIはChatGPTを使用。無料版でも作れます。 Plusは速度と長文コードの安定感が上がるので、作業時間を短縮したい人向けです。

サイトの作り方(最小構成)

VS Codeの導入など、開発環境の設定は別ページにまとめてもOKです(リンク先は英数字推奨)。 例:設定方法ページ

ステップ1:ファイルを作る

フォルダを作り、この2つを用意します。

ステップ2:まずブラウザで開いて表示確認

ファイルをダブルクリックで開いてOK。最初は動くこと最優先で進めます。 見た目はあとで整えれば大丈夫です。

動くサンプル(コピペOK)

最小の動く例を載せます。 下のコードを english-cards.html に貼ると、カードがクリックで日本語表示、自分でカードの追加ができる簡易システムです。

HTML(これ1枚で動く)

<main class="container">
  <h1>英単語カード</h1>

  <div class="card-grid" id="cardGrid"></div>

  <h2>カードを追加</h2>
  <form id="addForm">
    <input id="q" type="text" placeholder="表:English" required>
    <input id="a" type="text" placeholder="裏:Japanese" required>
    <button type="submit">追加</button>
  </form>
</main>

<style>
  .card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0}
  .wcard{border:1px solid #ddd;border-radius:14px;padding:14px;cursor:pointer;user-select:none}
  .wcard .front{font-weight:700;font-size:18px}
  .wcard .back{margin-top:8px;opacity:.85;display:none}
  .wcard.is-open .back{display:block}
  form{display:flex;gap:8px;flex-wrap:wrap}
  input{padding:10px;border:1px solid #ddd;border-radius:10px;min-width:220px}
  button{padding:10px 14px;border:1px solid #ddd;border-radius:10px;cursor:pointer}
</style>

<script>
  const cards = [
    {q:"apple", a:"りんご"},
    {q:"study", a:"勉強する"},
    {q:"important", a:"重要な"},
  ];

  const grid = document.getElementById("cardGrid");

  function render(){
    grid.innerHTML = "";
    cards.forEach((c, i) => {
      const el = document.createElement("div");
      el.className = "wcard";
      el.innerHTML = `<div class="front">${c.q}</div><div class="back">${c.a}</div>`;
      el.addEventListener("click", () => el.classList.toggle("is-open"));
      grid.appendChild(el);
    });
  }

  document.getElementById("addForm").addEventListener("submit", (e) => {
    e.preventDefault();
    const q = document.getElementById("q").value.trim();
    const a = document.getElementById("a").value.trim();
    if(!q || !a) return;
    cards.unshift({q, a});
    e.target.reset();
    render();
  });

  render();
</script>

サイトからサイトへのジャンプ(リンク)

同じフォルダにページを置けば、リンクで移動できます。例:

<a href="index.html">カタログに戻る</a>
<a href="english-cards.html">英単語カードを開く</a>

注意:ファイル名は 英数字+ハイフン が安全です(スペースは避ける)。

公開(GitHub Pages最短)

  1. GitHubで新規リポジトリ作成(例:english-cards
  2. index.html を置く(このカードページを index にしてもOK)
  3. Settings → Pages → Branchを選んで保存
  4. 表示されたURLにアクセスして公開確認

※自前サーバー(FFFTP)で公開する場合も、やることは「ファイルを置く」だけなので同じです。

他のジャンルへの応用