我们可以在<a>标签内添加<ul>吗?

Pav*_*mar 8 html markup dreamweaver

当我在锚标签内写html代码时,我的dreamweaver编辑器显示锚标记中的错误.不应该使用内部标签?是否有编写/使用标签的规则?

我使用的是Html 5.这是我的代码.http://jsfiddle.net/CfPnj/

Mr *_*ter 7

在HTML5中,您可以将块元素放入insize <a>元素中.请参阅http://dev.w3.org/html5/markup/a.html#a-changes
这是HTML5中的新功能.在任何其他版本的HTML中,它都是非法的.

更新(稍后添加,当我更好地理解HTML5时)

这是因为<a>内容模型已从内联更改为透明.换句话说,你可以放在一个<a>内容现在与你可以放在<a>父母的东西相同.这里问题的实际答案是"它取决于".
例如,

<div><a><ul><li></ul></a></div>
Run Code Online (Sandbox Code Playgroud)

是完全有效的HTML5,而

<span><a><ul><li></ul></a></span>
Run Code Online (Sandbox Code Playgroud)

不是(因为span是内联元素).
希望这可以帮助!


Nik*_*vić 6

<ul>是一个块元素标记,并且<a>是一个内联元素标记 - 块元素标记永远不应该进入内联元素标记,只能反过来(或其他内联元素标记内的内联元素标记)...

从这里开始,然后谷歌了解更多信息:http://line25.com/articles/10-html-tag-crimes-you-really-shouldnt-commit

  • 除非你使用HTML5,否则允许它 (9认同)
  • 我没有在语义上不同意!我只是指出它在HTML5中是有效的_syntax_,你的答案并不清楚.在语义上,我同意它应该避免,并且无法理解为什么它被改变了(正如我在答案中所说) (2认同)

小智 0

您不必将代码放入锚链接内,因为当您单击该链接时,您将被重定向到锚的顶部,因此您不需要在锚链接中编写所有代码<a>