AI先生のロボットキャラクター
第3章 - セクション3

入れ子のリスト

リストの中にリストを作る方法と階層構造の表現

女子生徒のアイコン

前回のリストの基本は理解できたんですが、もっと複雑な情報を整理したい場合はどうすればいいんですか?例えば、大項目の中に小項目があるような…

AI先生のアイコン

それが「入れ子のリスト」と呼ばれる技術だね。リストの中にさらにリストを作ることで、階層構造を表現できるんだ。目次や組織図のような複雑な情報も、きれいに整理できるよ。

男子生徒のアイコン

入れ子って、箱の中に小さな箱が入っているような感じですか?

AI先生のアイコン

そうそう!まさにその通りだね。大きな箱の中に小さな箱が入っているように、HTMLでは<li>の中に新しい<ul><ol>を入れることで階層構造を作るんだ。

入れ子リストの基本

入れ子のリストは、通常のリスト項目(<li>)の中に、新しいリスト(<ul><ol>)を配置することで作成します。これにより、情報を階層的に整理できます。

入れ子リストの基本構造
<ul> ← 親リスト
  <li>大項目1
    <ul> ← 子リスト
      <li>小項目1</li>
      <li>小項目2</li>
    </ul>
  </li>
  <li>大項目2</li>
</ul>
親リスト
外側の<ul>や<ol>
で全体を囲む最上位
子リスト
<li>の中に入れ子の
<ul>や<ol>を配置
自動インデント
ブラウザが自動的に
インデントを調整

基本構造のポイントと作成ルール

入れ子リストを正しく作成するための重要なポイントと実装ルールを理解しましょう。

基本構造のポイント

  • 親リスト(青色) 外側の<ul><ol>で全体構造を囲む最上位のリスト
  • 子リスト(オレンジ色) 親の<li>要素内に配置する入れ子のリスト(<ul><ol>
  • 自動インデント ブラウザが階層レベルに応じて自動的にインデント調整

作成ルール

  • 親のli内に配置 子リストは必ず親の<li>要素の中に記述
  • 同じタグの繰り返し <ul>の中に<ul><ol>の中に<ol>が基本
  • 混合も可能 <ul>の中に<ol><ol>の中に<ul>も可能
  • 閉じタグの順序 内側から外側へ、正しい順序で閉じタグを配置

これらのポイントやルールを守ることで、ブラウザが正しく階層構造を認識し、適切なインデントで表示されます。

入れ子リストを試してみよう

以下のエディターで入れ子リストの基本的な書き方を試してみてください。

  • 大項目と小項目の組み合わせを変更してみると、階層構造がより理解しやすくなります。
HTMLコード:
プレビュー:

様々な入れ子パターン

パターン1:番号付きリストの入れ子

手順の中に詳細な手順がある場合は、<ol>の入れ子が効果的です。

HTMLコード:
プレビュー:

パターン2:異なるリストタイプの組み合わせ

大分類は番号付き、詳細は箇条書きという使い分けも可能です。

HTMLコード:
プレビュー:

パターン3:深い階層構造

3段階以上の深い階層も作成できますが、読みやすさを考慮して適度な深さに留めることが重要です。

HTMLコード:
プレビュー:
注意点

入れ子は便利ですが、使いすぎると逆に分かりづらくなることもあります。以下の点に注意しましょう。

  • 3段階以上の階層 視覚的に複雑になるため、実際のWebサイトでは慎重に使用しましょう
  • 推奨される深さ 一般的には2〜3段階程度に留めることで、ユーザビリティを保てます

分かりやすい「入れ子リスト」を作る3つの原則

入れ子リストは便利ですが、ただ深くするだけでは逆に分かりにくくなります。 読み手にとって親切なリストを作るには、以下の3つの原則を意識するのが大切です。

原則1:論理的な階層にする

親子関係が直感的に分かるように、関連性の高い項目をグループ化しましょう。「大分類 → 中分類 → 小分類」のように、大きなテーマから具体的な項目へと掘り下げていくのが基本です。

  • 良い例: 「家電」→「パソコン」→「ノートPC」
  • 悪い例: 「家電」と「ノートPC」が同じ階層に混ざっている

原則2:階層を深くしすぎない

階層が深くなりすぎると、ユーザーは自分がどこにいるのか分からなくなってしまいます。多くのWebサイトでは、3階層までを一つの目安にしています。

  • 推奨: 2〜3階層まで
  • 注意: 4階層以上になると、多くの人が混乱し始めます

原則3:同じ階層のレベルを揃える

同じ階層には、同じレベル感の項目を並べましょう。例えば、「具体的な商品名」と「抽象的なカテゴリ名」が同じ階層に混ざっていると、構造が歪んで見えます。

  • 良い例: 「ノートPC」「デスクトップPC」「キーボード」
  • 悪い例: 「ノートPC」「デスクトップPC」「価格が安い順
女子生徒のアイコン

3つの原則は分かったんですが、実際にWebサイトで入れ子リストを作る時って、他にも気をつけることがあるんですか?

AI先生のアイコン

実は、ユーザーの立場になって考えることが一番重要なんだ。例えば「5秒ルール」って知ってる?ページを見て5秒以内に構造が理解できるかどうかを確認するんだよ。

男子生徒のアイコン

5秒ルール!それは確かに大事そうですね。他にもコツがあるんですか?

AI先生のアイコン

そうだなぁ。スマホでも見やすいかチェックしたり、情報が増えた時に構造が破綻していないか定期的に見直したりすることも大切かな。

あと、身近な人に「これ分かりやすい?」って聞いてみるのもいいよ。完璧な構造を最初から作ろうとせず、少しずつ改善していくのがポイントなんだ!

理解度チェッククイズ

AI先生のアイコン

入れ子リストの作成方法と設計原則を理解できたか、クイズで確認してみましょう。

入れ子リストミニクイズ

次のHTMLコードで、子リストはどこに配置されていますか?
<ul>
<li>親項目1
  <ul>
    <li>子項目1</li>
    <li>子項目2</li>
  </ul>
</li>
<li>親項目2</li>
</ul>
親の<ul>タグの直後
親の<li>タグの中
親の<ol>タグの前
独立した場所
次の4つのHTMLコードの中で、正しい入れ子構造はどれですか?
<ul><li>項目1<ul><li>子項目</li></ul></li></ul>
<ul><li>項目1</li><ul><li>子項目</li></ul></ul>
<ul><ul><li>項目1</li><li>子項目</li></ul></ul>
<li><ul>項目1<li>子項目</li></ul></li>
このHTMLコードは正しく動作しますか?
<ol>
<li>手順1
  <ul>
    <li>詳細A</li>
    <li>詳細B</li>
  </ul>
</li>
<li>手順2</li>
</ol>
正しく動作します
エラーになります
特別な属性が必要です
ブラウザによって異なります
入れ子リストの階層の深さについて、一般的な推奨は?
制限なし
2段階まで
3段階程度まで
5段階まで
次のうち入れ子リストが最も効果的な用途はどれですか?
単純な買い物リスト
サイトの目次・ナビゲーション
1行のメッセージ
画像のキャプション
このHTMLコードの問題点は何ですか?
<ul>
<li>フルーツ
  <ul>
    <li>りんご</li>
    <li>価格が安い順</li>
    <li>みかん</li>
  </ul>
</li>
</ul>
情報を階層的に整理できていない
複雑な構造になりすぎている
同じ階層のレベルが揃っていない
読み込み速度が遅くなる

まとめ

女子生徒のアイコン

入れ子リストって、情報を整理するのにすごく便利ですね!目次とか、商品カテゴリとかに使えそう。

男子生徒のアイコン

3段階までって制限があるのも納得です。確かにあまり深いと、どこにいるのか分からなくなりそう。

AI先生のアイコン

そうだね!入れ子リストは強力なツールだけど、使いすぎは禁物。ユーザーのことを考えて、分かりやすい構造を心がけることが一番大切だ。次は、用語と説明をセットで表現する「定義リスト」について学んでいこう。

入れ子リスト活用のポイント
  • 正しい構造 子リストは必ず親の<li>要素内に配置
  • 適度な深さ 一般的に3段階程度まで、最大4段階
  • 論理的設計 関連性の高い項目をグループ化
  • 一貫性の保持 同レベルの項目は同じ性質で統一
  • 混合可能 <ul><ol>の組み合わせも自由に使用可能

次回は「定義リスト」について学習します。用語集やQ&A形式のコンテンツに最適な、特別なリスト形式を習得しましょう!

学習チェック

このレッスンを理解できたら「完了」をクリックしてください。
後で見直したい場合は「未完了に戻す」で進捗をリセットできます。

レッスン完了!🎉

お疲れさまでした!