如何在XHTML严格中生成嵌套列表而不给嵌套列表第一个元素一个双子弹?

时间:2010-02-10 08:03:17

标签: css xhtml xhtml-1.0-strict

我正在尝试使用XHTML Strict 1.0创建嵌套在列表中的列表。问题是,使用XHTML严格的ul元素不能直接嵌套在另一个ul元素中。因此,内部ul元素必须嵌套在li元素中。但是,当这样做时,内部列表的第一行会得到一个子弹,如下例所示。因此,现在B获得双重子弹,因为外部和内部li元素都创建了一个子弹。有谁知道如何在CSS中解决这个问题,以便B打算作为嵌套列表,但只获得一个子弹?感谢名单!

        
  • A
  •     
  •         
                  
    •             
    • C
    •             
    • d
    •         
        
  •     
  • 电子
  •     
  •         
                  
    • ˚F
    •             
    •             
    • ħ
    •         
        

以上示例的XHTML:

<ul>
    <li>A</li>
    <li>
        <ul>
            <li>B</li>
            <li>C</li>
            <li>D</li>
        </ul>
    </li>
    <li>E</li>
    <li>
        <ul>
            <li>F</li>
            <li>L</li>
            <li>H</li>
        </ul>
    </li>
</ul>

2 个答案:

答案 0 :(得分:8)

这是有效的XHTML严格。额外的好处是,这实际上描述的嵌套比将嵌套列表放在单独的列表项中更加语义,因为(“B”,“C”,“D”与父“A”)之间的关系由这个加价。

有关于使用定义列表(dl)的建议,但您应该只按预期使用它(即,如果您正在显示定义列表!)

        
  • 甲         
                  
    •             
    • C
    •             
    • d
    •         
        
  •     
  • 电子         
                  
    • ˚F
    •             
    •             
    • ħ
    •         
        
<ul>
    <li>A
        <ul>
            <li>B</li>
            <li>C</li>
            <li>D</li>
        </ul>
    </li>
    <li>E
        <ul>
            <li>F</li>
            <li>L</li>
            <li>H</li>
        </ul>
    </li>
</ul>

答案 1 :(得分:0)

 ul ul > li:first-child { list-style-type: none; }