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

时间:2014-11-03 16:07:08

标签: epub nested-lists xhtml-1.0-strict

我正在制作一个包含许多嵌套列表(OL和UL)的电子书,而且一个页面无效。我希望将它们作为语义和组织原因的列表。这是我要采用的格式:

  1. 问题

    • Subquestion
    • Subquestion
  2. 解释答案的段落

    1. 问题

      • Subquestion
      • Subquestion
    2. 解释答案的段落

      H2分节

      1. 问题

        • Subquestion
        • Subquestion
      2. 解释答案的段落

        1. 问题

          • Subquestion
          • Subquestion
        2. 解释答案的段落

          我的缩写代码:

          <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 个答案:

答案 0 :(得分: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>

希望这有所帮助,祝你好运!

答案 1 :(得分: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>