在 UL 标签内使用 H3 标签

3

可能重复:
在ul标签中除了li还允许其他内容吗?

我正在做这样的事情:

<ul>
    <h3><a name="titlename">Title</a></h3>
    <li>Text.</li>
    <li>More text.</li>
    <span><a href="/url">Click here</a> to go to some place.</span>
</ul>

但我在 Visual Studio 中收到警告:

Warning Validation (HTML5): Element 'h3' cannot be nested within element 'ul'.  
Warning Validation (HTML5): Element 'span' cannot be nested within element эul'.    

我谷歌搜索并发现,在<ul>标签内部放置其他标签,如<li>,似乎不会有问题。
但是,也许有人对此有不同的看法。这样做会破坏什么吗?您是否将<h>标签或其他标签放在<ul>中?您对此有何经验?

你已经在你链接的帖子中得到了答案。意见改变不了什么,这就是它的工作方式。 - Wesley Murch
3个回答

6
    代表无序列表,而
  • 代表属于该无序列表的列表项 - 因此只有在
      元素之内具有
    • 元素才真正有意义。如果您想给无序列表一个标题,请将其放在列表之外(这将是更为“正常”的方式),或者在列表内部的
    • 元素中。
    <h3>My List Title</h3>
    <ul>
      <li>List items in here...</li>
    </ul>
    

4
如果你的<h3><ul>的子元素,那么它是无效的。你只能将其放在<li>中,而不能直接放在<ul>中。

1

你只能在 <UL> 标签中放置 <LI>。然后在 LI 中,你可以放置任何你想要的内容。

<ul>
   <li><h3><a name="titlename">Title</a></h3></li>
   <li>Text.</li>
   <li>More text.</li>
   <li><span><a href="/url">Click here</a> to go to some place.</span></li>
</ul>

或者

<h3><a name="titlename">Title</a></h3>
<ul>
   <li>Text.</li>
   <li>More text.</li>
</ul>
<span><a href="/url">Click here</a> to go to some place.</span>

是的,你可以在 UL 标签内放置任何内容,但这并不符合 W3C 标准(你会看到验证错误),也没有人能保证在所有浏览器中都能正确显示。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接