Вложенные списки в строгом XHTML1.0 для электронной книги недействительны

Я работаю над книгой, которая содержит много вложенных списков (как OL, так и UL), и одна страница недействительна. Я хочу сохранить их в виде списков по смысловым и организационным причинам. Вот формат, к которому я иду:

  1. Вопрос

    • подвопрос
    • подвопрос

Параграф, объясняющий ответы

  1. Вопрос

    • подвопрос
    • подвопрос

Параграф, объясняющий ответы

Разрыв раздела H2

  1. Вопрос

    • подвопрос
    • подвопрос

Параграф, объясняющий ответы

  1. Вопрос

    • подвопрос
    • подвопрос

Параграф, объясняющий ответы

И мой сокращенный код:

<ol>
    <li>Question 1
     <ul>
      <li>subquestion</li>
      <li>subquestion</li>
     </ul>
    </li>
    <p>Paragraph explaining answers</p>

    <li>Question 2
     <ul>
      <li>subquestion</li>
      <li>subquestion</li>
     </ul>
    </li>
    <p>Paragraph explaining answers</p>

<h2>Section break</h2>

    <li>Question 3
     <ul>
      <li>subquestion</li>
      <li>subquestion</li>
     </ul>
    </li>
    <p>Paragraph explaining answers</p>

    <li>Question 4
     <ul>
      <li>subquestion</li>
      <li>subquestion</li>
     </ul>
    </li>
    <p>Paragraph explaining answers</p>

</ol>

Теперь это выглядит великолепно в браузере, за исключением того, что я получаю ошибку несоответствия тега в последней строке (закрывающий тег ol), что не позволяет отображать что-либо после упорядоченного списка. Мне не разрешается разбивать формат (то есть ставить все абзацы в конце OL), и я бы предпочел не просто использовать цифры для OL.

Тэги абзаца и заголовка не допускаются во вложенных списках Есть ли обходной путь для сохранения согласованности нумерации и форматирования? Спасибо за вашу помощь!

2 ответа

Решение

Вы не можете ничего положить в ol но li как подробно здесь. Лучше всего сделать это так:

<ol>
    <li>Question 1
     <ul>
      <li>subquestion</li>
      <li>subquestion</li>
     </ul>
    </li>
</ol>
    <p>Paragraph explaining answers</p>

<ol>
    <li>Question 2
     <ul>
      <li>subquestion</li>
      <li>subquestion</li>
     </ul>
    </li>
</ol>
    <p>Paragraph explaining answers</p>

    <h2>Section break</h2>

<ol>
    <li>Question 3
     <ul>
      <li>subquestion</li>
      <li>subquestion</li>
     </ul>
    </li>
</ol>
    <p>Paragraph explaining answers</p>

<ol>
    <li>Question 4
     <ul>
      <li>subquestion</li>
      <li>subquestion</li>
     </ul>
    </li>
</ol>
    <p>Paragraph explaining answers</p>

Надеюсь, что это помогло, удачи!

То, что сказал @phantom, не совсем верно. Вы можете "встроить" пункт в элемент списка. Ваш первоначальный пример разбивается так: у вас не может быть заголовка в упорядоченном списке; это то, что не разрешено.

Вот что вы должны сделать:

<ol>
    <li>Question 1
        <ul>
            <li>subquestion</li>
            <li>subquestion</li>
        </ul>

    <!-- The following places the paragraph within the <li> element,
         giving it a paragraph space/line break above and no bullet. -->

    <p>Paragraph explaining answers</p> <!-- para wrapped in the -->

    </li> <!-- close the list item. -->

    <li>Question 2
        <ul>
            <li>subquestion</li>
            <li>subquestion</li>
        </ul>
     <p>Paragraph explaining answers</p>
     </li>
</ol> <!-- End the ordered list since it cannot contain a heading tag -->

<h2>Section break</h2>

<ol>
    <li>Question 3
        <ul>
            <li>subquestion</li>
            <li>subquestion</li>
        </ul>
    <p>Paragraph explaining answers</p>
    </li>

    <li>Question 4
        <ul>
            <li>subquestion</li>
            <li>subquestion</li>
        </ul>
    <p>Paragraph explaining answers</p>
    </li>
</ol>
Другие вопросы по тегам