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

问题描述:

我正在研究一个包含许多嵌套列表(OL和UL)和一个页面无效的电子书。我希望将它们作为语义和组织原因的列表。下面是我要的格式:在严格的XHTML1.0电子书无效的嵌套列表

  • Subquestion
  • Subquestion

段落解释答案

  1. 问题

      开始=>
    1. 问题

      • Subquestion
      • Subquestion

    段落说明答案

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

        是否允许段落和标题嵌套在列表内?有没有解决方法来保持编号和格式一致?谢谢你的帮助!

      开始=>
    开始=>

    你不能把任何东西放在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

    谢谢你的快速反应!不幸的是,有四个单独的OL导致四个#1,而不是我想要的1-4。有没有一个CSS规则来规定OL李的号码?我意识到这可能是一种黑客攻击,但确保OL包含一致的编号至关重要。 – chrisrobweeks 2014-11-03 16:45:41

    +0

    @ user2540402您可以使用'start =“#”'属性,显然将'#'替换为您希望它启动的属性,但它在HTML 4.01中已弃用。尽管如此,你仍然可以在HTML5中获得支持。 – phantom 2014-11-03 16:48:27

    +0

    这对我来说是新的,谢谢!据我所知,EPUB和MOBI必须在严格的XHTML1.0中开发,但是我不再会遇到不匹配的标签错误并验证。再次感谢@phantom! – chrisrobweeks 2014-11-03 17:07:42

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