我不明白为什么 WC3 验证器将此 HTML 标记为无效,它报告的错误是......
''在此上下文中不允许元素 ul 作为元素 span 的子元素。(抑制来自该子树的更多错误。)''
我正在使用 HTML5,此代码用于面包屑。
<span class="bread">
<ul>
<li><a href="./index.php">HOME</a></li>
<li>ABOUT</li>
</ul>
</span>
我不明白为什么 WC3 验证器将此 HTML 标记为无效,它报告的错误是......
''在此上下文中不允许元素 ul 作为元素 span 的子元素。(抑制来自该子树的更多错误。)''
我正在使用 HTML5,此代码用于面包屑。
<span class="bread">
<ul>
<li><a href="./index.php">HOME</a></li>
<li>ABOUT</li>
</ul>
</span>
<span>
根据定义,它是一个内联元素(例如,你可以在段落中使用它),而<ul>
它是一个块元素(它是它自己的一小块空间,通常在它之前/之后有空格,不像<span>
)。
其他人也有同样的问题,最终改用<div>
标签。请参阅是否可以将列表放在跨度标签内?
根据 html5 建议,该<span>
元素只能包含phrasing-content。该<ul>
元素不在短语内容标签列表中。html 验证引擎正在执行这些规则。
您可以使用 a<div>
作为容器。
如果您将 div 样式设置为“display:inline”,它名义上应该符合规则,同时表现得完全像一个 span :)
如果您将它用作面包屑,它是一个导航元素,因此<nav>
作为<ul>
. 否则,给 UL 一个“面包屑”类,<ul class="breadcrumb">
并根据其类对其进行样式设置。
采用<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>