严格的XHTML1.0中的嵌套列表对电子书无效

问题描述 投票:1回答:2

我正在处理包含许多嵌套列表(OL和UL)且一页无效的电子书。由于语义和组织原因,我希望将它们保留为列表。这是我要使用的格式:

  1. 问题

    • Subquestion
    • Subquestion

说明答案的段落

  1. 问题

    • Subquestion
    • Subquestion

说明答案的段落

H2分节符

  1. 问题

    • Subquestion
    • Subquestion

说明答案的段落

  1. 问题

    • Subquestion
    • Subquestion

说明答案的段落

以及我的缩写代码:

<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中使用数字。

是否不允许在段落内嵌套段落和标题标签?有没有变通方法来保持编号和格式一致?感谢您的帮助!

epub nested-lists xhtml-1.0-strict
2个回答
2
投票

您不能在ol中放置任何内容,但要在li中详细说明here。您最好这样做:

<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>

0
投票

@ 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>
© www.soinside.com 2019 - 2024. All rights reserved.