← エラー辞典に戻る

HTML

リスト要素が正しくネストされない

ul/olの直下にli以外の要素がある

こんな症状

ul/olの直下にli以外の要素を置いてレイアウトが崩れる。リスト構造を正しく書けていないときに起きるよ。

まず試す

<ul>/<ol> の直下には <li> だけを置く。追加コンテンツは <li> の中に入れる。

html
<ul>
  <li>A</li>
  <li>B</li>
</ul>

これで直らなければ、下の「自分のケース」を確認。

🔍 自分のケースはどれ?

  • ul の直下に div や p を置いた
    → その要素を <li> の中に入れる。
  • li の閉じタグが無い
    → 各 <li> を </li> で閉じる。
  • 入れ子のリストを作りたい
    → <li> の中に <ul>/<ol> を入れる。

なぜ起きる?

HTMLの仕様では<ul>や<ol>の直接の子要素は<li>のみ許可されているよ。<ul>の直下に<div>や<p>を置いたり、<li>の外にテキストを書いたりすると、ブラウザが構造を正しく解釈できずレイアウトが崩れるんだ。

✕ エラーが起きるコード
<ul><li>A<li>B</ul>
<!-- li 閉じタグなし -->
✓ 直したコード
<ul><li>A</li><li>B</li></ul>

✅ 直ったか確認

リストが意図どおり表示され、HTMLバリデーターで構造エラーが出なければOK。

🆘 まだ直らないときは

メニュー等で li にスタイルが効かないときも、直下に li 以外があると崩れる。構造を見直そう。

Q&Aで質問する →

この解決法は役立ちましたか?

🔗 関連するエラー

🔗 別カテゴリの関連エラー

📖 この問題を学べるレッスン

HTMLレッスン4:リストと表で根本から理解する →

✏️ 手を動かして練習

このテーマの図解ドリルで実際に書いて確認する →

📝 関連ブログ記事

📖 関連する用語

🚀 HTMLレッスン4:リストと表で根本解決しよう!

このエラーの背景にある仕組みを、手を動かしながら学べるレッスンがあります。完全無料・登録不要。

HTMLレッスン4:リストと表へ →

❓ 関連するQ&A