Вложенные списки в строгом XHTML1.0 для электронной книги недействительны
Я работаю над книгой, которая содержит много вложенных списков (как OL, так и UL), и одна страница недействительна. Я хочу сохранить их в виде списков по смысловым и организационным причинам. Вот формат, к которому я иду:
Вопрос
- подвопрос
- подвопрос
Параграф, объясняющий ответы
Вопрос
- подвопрос
- подвопрос
Параграф, объясняющий ответы
Разрыв раздела H2
Вопрос
- подвопрос
- подвопрос
Параграф, объясняющий ответы
Вопрос
- подвопрос
- подвопрос
Параграф, объясняющий ответы
И мой сокращенный код:
<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>