除了LI之外的任何东西都可以在UL中使用吗?

时间:2011-05-19 08:59:16

标签: html

我们从设计师处获得了一些可疑的HTML。以下是否有效? (注意UL内部的UL)

<ul>
    <li>1</li>
    <ul>    
        <li>1.1</li>
        <li>1.2</li>
        <li>1.3</li>
    </ul>
    <li>2</li>
    <ul>    
        <li>1.1</li>
        <li>1.2</li>
        <li>1.3</li>
    </ul>
</ul>

7 个答案:

答案 0 :(得分:30)

根据HTML 4 specs,代码无效的XHTML 2 specsHTML 5 specs

HTML 4

  

&lt;!ELEMENT UL - - (LI)+

这意味着在<ul>内只能有多个<li>元素。

XHTML

  

两种类型的列表(ul|ol)都由 li 元素定义的列表项序列组成。

HTML 5

  

内容模型
      零个或多个liscript-supporting元素。

请注意,支持脚本的元素是未呈现的元素,目前仅包含<script><template>

答案 1 :(得分:10)

不,它无效。 ul中唯一允许的元素是li

更正样本:

<ul>
    <li>
        <span>1</span>
        <ul>    
            <li>1.1</li>
            <li>1.2</li>
            <li>1.3</li>
        </ul>
    </li>
    <li>
        <span>2</span>
        <ul>    
            <li>1.1</li>
            <li>1.2</li>
            <li>1.3</li>
        </ul>
    </li>
</ul>

不要让您的设计师为您编写任何HTML代码。聘请一位真正了解如何处理HTML和XHTML的前端开发人员。

答案 2 :(得分:2)

这确实无效;可能意味着:

<ul>
  <li>1
    <ul>
    <!-- ... -->
    </ul>
  </li>
</ul>

此外,您的设计师在编写HTML时会是什么?

答案 3 :(得分:2)

这是无效的。要创建嵌套列表,您必须将ul标记放在li标记内:

<ul>
<li>1</li>
<li>
    <ul>    
        <li>1.1</li>
        <li>1.2</li>
        <li>1.3</li>
    </ul>
</li>
<li>2</li>
<li>
    <ul>    
        <li>1.1</li>
        <li>1.2</li>
        <li>1.3</li>
    </ul>
</li>

答案 4 :(得分:2)

您应该在W3C网站上搜索HTML标准信息。对于列表元素,您可以在此处找到它:http://www.w3.org/wiki/HTML/Elements/ul。它说 ul应该只包含li 元素。在你的代码中,嵌套的ul应该放在li里面。

答案 5 :(得分:1)

无效。我刚刚对validator.w3.org

进行了检查

这是错误

  

第6行,第8列:文档类型   这里不允许元素“ul”;假设   缺少“li”开始标记

答案 6 :(得分:0)

不仅无效,而且<li>1</li>不是必需的。为什么不呢?

<ol>
  <li>&nbsp; <!--if no content, some browsers render nested li on same line-->
    <ul>
      <li>1.1</li>
      <li>1.2</li>
      <li>1.3</li>
    </ul>
  </li>
  <li>&nbsp;
    <ul>
      <li>1.1</li>
      <li>1.2</li>
      <li>1.3</li>
    </ul>
  </li>
</ol>