4

我不明白为什么 WC3 验证器将此 HTML 标记为无效,它报告的错误是......

''在此上下文中不允许元素 ul 作为元素 span 的子元素。(抑制来自该子树的更多错误。)''

我正在使用 HTML5,此代码用于面包屑。

<span class="bread">
    <ul>
        <li><a href="./index.php">HOME</a></li>
        <li>ABOUT</li>
    </ul>
</span>
4

5 回答 5

4

<span>根据定义,它是一个内联元素(例如,你可以在段落中使用它),而<ul>它是一个块元素(它是它自己的一小块空间,通常在它之前/之后有空格,不像<span>)。

其他人也有同样的问题,最终改用<div>标签。请参阅是否可以将列表放在跨度标签内?

于 2013-04-04T22:49:50.300 回答
3

根据 html5 建议,该<span>元素只能包含phrasing-content。该<ul>元素不在短语内容标签列表中。html 验证引擎正在执行这些规则。

您可以使用 a<div>作为容器。

于 2013-04-04T22:53:39.730 回答
2

如果您将 div 样式设置为“display:inline”,它名义上应该符合规则,同时表现得完全像一个 span :)

于 2013-04-10T11:17:42.193 回答
1

如果您将它用作面包屑,它是一个导航元素,因此<nav>作为<ul>. 否则,给 UL 一个“面包屑”类,<ul class="breadcrumb">并根据其类对其进行样式设置。

于 2014-03-05T21:21:07.607 回答
0

采用<div>

<div class="bread">
    <ul>
        <li><a href="./index.php">HOME</a></li>
        <li>ABOUT</li>
    </ul>
</div>

代替<span>

<span class="bread">
    <ul>
        <li><a href="./index.php">HOME</a></li>
        <li>ABOUT</li>
    </ul>
</span>
于 2014-11-12T10:47:06.663 回答